1. 程式人生 > >i.MX6 Yocto QT5環境搭建流程

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的交叉編譯工具鏈。