本文将介绍 iMX6Q SabreSD 开发板的 Yocto Project 开发环境搭建,以及使用 Yocto 编译此开发板的烧录工具(MFGTool)镜像。
软件环境
- 操作系统: Ubuntu14.04
安装依赖包
1 | sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ |
1 | sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html \ |
1 | sudo apt-get install u-boot-tools |
安装 repo
工具
repo
是一个基于 git
的工具。使用 repo 可以方便地管理存在多个软件源的项目。安装 repo 分为以下几个步骤:
- 在
home
目录下创建一个bin
目录。
1 | mkdir ~/bin |
- 将下面2行加入
.bashrc
文件末尾,确保~/bin
在PATH
变量中。
1 | export PATH=${PATH}:~/bin |
构建 Yocto 项目
Freescale Yocto Project BSP Release
目录包含如下内容:
sources
目录包含一些用于构建的配方- 一个或多个
build
目录 - 一些用于配置开发环境的脚本
以下步骤创建了一个 fsl-release-bsp
目录用于构建 Yocto 项目:
1 | mkdir fsl-release-bsp |
1 | # git config --global user.name "Your Name" |
1 | repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1.15-1.0.0_ga |
上面采用了 imx-4.1.15-1.0.0_ga
分支,可根据实际需求使用其他分支代码,如下:
编译构建 MFGTool
向开发板烧录系统镜像可使用 MFGTool 完成。编译 MFGTool 镜像文件的配方分别是 linux-imx-mfgtool
和 u-boot-mfgtool
。编译命令如下:
1 | cd ~/fsl-release-bsp |
编译过程需下载大量的源代码,为确保过程顺利建议使用 VPN 或者采用其他加速网络访问的方式。
成功编译之后,在目录 ~/fsl-mfgtools-bsp/build-mfgtools/tmp/deploy/images/imx6qsabresd
下会产生如下文件:
- u-boot.imx(u-boot)
- zImage(内核)
- zImage-imx6q-sabresd.dtb(设备树)
- fsl-image-mfgtool-initramfs-imx6qsabresd.cpio.gz.u-boot(内存文件系统)
总结
通过以上步骤,我们完成了 Freescale iMX6Q Yocto Project
开发环境搭建,其中包含如下方面的工作:
- 安装项目依赖软件
- 安装 repo
- 配置 git
- 构建 Yocto 项目
- 编译 MFGTool 镜像