系统: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