i.MX6 Yocto QT5環境搭建流程
目錄:
i.MX6 Yocto 環境搭建流程
Freescale Yocto Project
• Linux distributed build system
• Replacement for LTIB
• Higher integration with community
• Flexible release targets
安裝環境:
Vmware Workstation 14 Pro
Ubuntu 16.04 LTS(注:磁碟空間不少於120G)
1. Host Setup
1.1 Host packages安裝軟體包
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev
$ sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc
Ubuntu 12.04 安裝uboot-mkimage:
$ sudo apt-get install uboot-mkimage
Ubuntu 14.04 安裝u-boot-tools:
$ sudo apt-get install u-boot-tools
1.2 設定repo程式
$ mkdir ~/bin
// 若已存在則無需建立
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
// 需要訪問谷歌,所以需要翻牆,不能翻牆則執行這一條命令,如下:
$ curl http://php.webtutor.pl/en/wp-content/uploads/2011 /09/repo > /opt/yocto/bin/repo
$ chmod a+x ~/bin/repo
將以下指令新增到.bashrc中
確保~/bin
包含在PATH
中
export PATH=~/bin:$PATH
2. Yocto Project Setup
2.1 設定git
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --list
2.2 獲取BSP
$ mkdir imx-yocto-bsp
$ cd imx-yocto-bsp
$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-rocko -m imx-4.9.88-2.0.0_ga.xml
// 需訪問谷歌,改為執行這一條命令,如下:
$ repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable
// 若在repo初始化過程中發生錯誤,則刪除.repo目錄,重新執行repo初始化命令即可。
$ repo sync
3. Image Build
3.1 設定指令碼環境
命令格式:
$ DISTRO=<distro name> MACHINE=<machine name> source fsl-setup-release.sh -b <build dir>
DISTRO有四種:
• fsl-imx-x11
• fsl-imx-wayland
• fsl-imx-xwayland
• fsl-imx-fb
MACHINE有以下:
• imx6qpsabreauto
• imx6qpsabresd
• imx6ulevk
• imx6ull14x14evk
• imx6ull9x9evk
• imx6dlsabreauto
• imx6dlsabresd
• imx6qsabreauto
• imx6qsabresd
• imx6slevk
• imx6solosabreauto
• imx6solosabresd
• imx6sxsabresd
• imx6sxsabreauto
• imx6sllevk
• imx7dsabresd
• imx7ulpevk
• imx8mqevk
這裡採用以下命令:
$ DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source fsl-setup-release.sh -b build
3.2 編譯映象檔案
$ bitbake fsl-image-qt5
編譯過程很長,一天左右。若中途出錯可以ctrl+c
中斷後程式執行$ bitbake fsl-image-qt5
命令,
若編譯過程中關掉了終端,那麼重新開啟終端進入fsl-release-bsp
目錄後只需要執行以下命令就可以重新進入編譯環境:
$ source setup-environment build
3.3 編譯qt5的交叉編譯工具鏈
$ bitbake meta-toolchain-qt5
編譯完成後會在/opt/yocto/fsl-release-bsp/build/tmp/deploy/sdk
目錄下生成檔案fsl-imx-fb-glibc-i686-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.0.0.sh
執行如下命令安裝qt5的交叉編譯工具鏈:
$ cd /opt/yocto/fsl-release-bsp/build/tmp/deploy/sdk
$ ./fsl-imx-fb-glibc-i686-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.0.0.sh
3.4 編譯gcc交叉編譯工具鏈
$ bitbake meta-toolchain
編譯完成後會在/opt/yocto/fsl-release-bsp/build/tmp/deploy/sdk
目錄下生成.sh
檔案
同樣執行.sh
檔案安裝gcc的交叉編譯工具鏈。