0%

搭建 iMX6Q SabreSD Yocto 项目开发环境

本文将介绍 iMX6Q SabreSD 开发板的 Yocto Project 开发环境搭建,以及使用 Yocto 编译此开发板的烧录工具(MFGTool)镜像。

软件环境

  • 操作系统: Ubuntu14.04

安装依赖包

Yocto Project 的依赖包
1
2
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat
其他依赖包
1
2
3
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
u-boot 工具
1
sudo apt-get install u-boot-tools

安装 repo 工具

repo 是一个基于 git 的工具。使用 repo 可以方便地管理存在多个软件源的项目。安装 repo 分为以下几个步骤:

  1. home 目录下创建一个 bin 目录。
安装 repo
1
2
3
mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
  1. 将下面2行加入 .bashrc 文件末尾,确保 ~/binPATH 变量中。
环境变量
1
2
export PATH=${PATH}:~/bin
export MACHINE=imx6qsabresd

构建 Yocto 项目

Freescale Yocto Project BSP Release 目录包含如下内容:

  • sources 目录包含一些用于构建的配方
  • 一个或多个 build 目录
  • 一些用于配置开发环境的脚本

以下步骤创建了一个 fsl-release-bsp 目录用于构建 Yocto 项目:

创建目录
1
2
mkdir fsl-release-bsp
cd fsl-release-bsp
配置 git 信息
1
2
3
4
5
# git config --global user.name "Your Name"
git config --global user.name "ClarenceYk"
# git config --global user.email "Your Email"
git config --global user.email "[email protected]"
git config --list
同步源代码
1
2
repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1.15-1.0.0_ga
repo sync

上面采用了 imx-4.1.15-1.0.0_ga 分支,可根据实际需求使用其他分支代码,如下:

编译构建 MFGTool

向开发板烧录系统镜像可使用 MFGTool 完成。编译 MFGTool 镜像文件的配方分别是 linux-imx-mfgtoolu-boot-mfgtool。编译命令如下:

编译 MFGTool
1
2
3
cd ~/fsl-release-bsp
source fsl-setup-release.sh -b build-mfgtools -e x11
bitbake fsl-image-mfgtool-initramfs

编译过程需下载大量的源代码,为确保过程顺利建议使用 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 镜像

Welcome to my other publishing channels