系統:ubuntu14.04 LTS
切換軟件下載源,確保下載資源是最快。
安裝必要軟件工具:
~$ apt-get install vim
~$ apt-get install openssh-server
切換root權限:
~$ sudo su
1. 執行以下命令,安裝如下軟件
~# apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat
~# apt-get install u-boot-tools
~# 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
2. 下載repo
~# mkdir ~/bin
~# curl http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo > ~/bin/repo //獲取repo
~# chmod a+x ~/bin/repo
~# export PATH=~/bin:$PATH
3. 初始化repo並git下源碼,依據網速可能要一個小時左右
~# mkdir fsl_6dl_release
~# cd fsl_6dl_release
~/fsl_6dl_release# git config --global user.name "Your Name"
~/fsl_6dl_release# git config --global user.email "Your Email"
~/fsl_6dl_release# repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.28-1.0.0_ga
~/fsl_6dl_release# repo sync
至此基本環境搭建完畢。
4. 安裝NFS
~$ sudo apt-get install nfs-kernel-server
~$ sudo mkdir /imx6
~$ sudo vi /etc/exports
最后一行添加:/imx6 *(rw,sync,no_root_squash,no_subtree_check)
~$ sudo /etc/init.d/rpcbind restart
~$ sudo /etc/init.d/nfs-kernel-server restart
5. 編譯yocto工程
這里我測試過兩個image,一個是fsl-image-qt5,編譯耗時20小時,文件大小60G;另一個是fsl-image-gui,文件大概40G左右。同學們可以依據自己的需求編譯不同版本。說明一下, -b 可以指定你要將文件編譯到哪個目錄,-e是選擇編譯的后端,有fb、dfb、wayland、x11等可供選擇,這里我選擇的是wayland,如果你對其他幾個開發順手的話也可以選其他的。編譯大概4個小時左右。
(1)構建交叉編譯環境
cd fsl_6dl_release
~/fsl_6dl_release$ MACHINE=imx6dlsabresd source fsl-setup-release.sh -b build-wayland/ -e wayland
(1)配置
編譯fsl-image-gui : ~/fsl_6dl_release/build-wayland$ vi conf/local.conf 修改配置文件,改為如下內容(修改前會報錯,刪掉相關的內容后編譯通過)
MACHINE ??= 'imx6dsabresd'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES = "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K"
CONF_VERSION = "1"
BB_NUMBER_THREADS = '8' //電腦8線程,編譯時可以起8個編譯任務
PARALLEL_MAKE = '-j 8'
ACCEPT_FSL_EULA = ""
編譯fsl-image-qt5,配置文件不用修改,(BB_NUMBER_THREADS = '8',但是編譯的時候還是一個任務)。
(2)編譯
cd fsl_6dl_release
~/fsl_6dl_release$ MACHINE=imx6dlsabresd source fsl-setup-release.sh -b build-wayland/ -e wayland
~/fsl_6dl_release/build-wayland$ bitbake fsl-image-qt5
6. 編譯工具鏈
cd fsl_6dl_release //如果重啟虛擬機,需要執行以建立bitbake環境
~/fsl_6dl_release$ MACHINE=imx6dlsabresd source fsl-setup-release.sh -b build-wayland/ -e wayland //如果重啟虛擬機,需要執行以建立bitbake環境
~/fsl_6dl_release/build-wayland$ bitbake meta-toolchain-qt5 //qt工具鏈
編譯完成后請進入<build dir>/tmp/deploy/sdk 目錄下找到工具鏈,是一個安裝文件,可以用在其他系統上。
7. 安裝編譯工具鏈
當執行完bitbake meta-toolchain-qt5后,工具鏈及生成腳本了。
執行以下命令查看(版本不一定跟我的一樣):
~/fsl_6dl_release/build-wayland$ ls tmp/deploy/sdk/poky-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-1.7.sh
