I.MX6U Yocto 构建根文件系统 
原子哥在线教学:www.yuanzige.com                                         
 
  论坛:www.openedv.com 
 
I.MX6U Yocto 构建根文件
系统 V1.0 
 
 
 
 
 
 
 
 
 
 
 
 
1 
I.MX6U Yocto 构建根文件系统 
原子哥在线教学:www.yuanzige.com                                         
 
  论坛:www.openedv.com 
 
广州市星翼电子科技有限公司 
淘宝店铺 1:http://eboard.taobao.com   
淘宝店铺 2:http://openedv.taobao.com         
技术支持论坛  (开源电子网)  :www.openedv.com 
原子哥在线教学:www.yuanzige.com 
官方网站:www.alientek.com 
最新资料下载链接:http://www.openedv.com/posts/list/13912.htm 
E-mail: 389063473@qq.com        QQ: 389063473 
咨询电话:020-38271790   
传真号码:020-36773971 
团队:正点原子团队 
正点原子,做最全面、最优秀的嵌入式开发平台软硬件供应商。 
 
 
 
友  情  提  示 
   
如果您想及时免费获取“正点原子”最新资料,敬请关注正点原子 
 
 
 
 
 
 
 
   
 
 
 
微信公众平台,我们将及时给您发布最新消息和重要资料。 
关注方法: 
(1)微信“扫一扫”,扫描右侧二维码,添加关注 
(2)微信→添加朋友→公众号→输入“正点原子”→关注 
(3)微信→添加朋友→输入“alientek_stm32” →关注   
 
 
 
 
2 
I.MX6U Yocto 构建根文件系统 
原子哥在线教学:www.yuanzige.com                                         
 
  论坛:www.openedv.com 
 
文档更新说明 
版本 
版本更新说明 
负责人  校审  发布日期 
初稿: 
 
V1.0 
正点原
子 linux
团队 
 
2019.10.26 
 
 
 
 
 
3 
I.MX6U Yocto 构建根文件系统 
原子哥在线教学:www.yuanzige.com                                         
 
  论坛:www.openedv.com 
 
前言 .................................................................................................................................................... 5 
一、在线构建根文件系统 ................................................................................................................ 5 
1.1 安装与配置 git ........................................................................................................................ 5 
1.1.1 安装 git .............................................................................................................................................. 5 
1.1.2 配置 git 用户信息 ............................................................................................................................. 6 
1.2 获取 yocto 项目 ....................................................................................................................... 6 
1.2.1 下载 repo .......................................................................................................................................... 6 
1.2.2 获取 yocto 项目 ................................................................................................................................ 7 
1.2.3 构建根文件系统 ............................................................................................................................. 10 
1.2.4  构建 SDK 工具................................................................................................................................ 17 
二、离线构建根文件系统 .............................................................................................................. 18 
2.1 构建根文件系统 .................................................................................................................... 19 
2.2 构建 SDK 工具 ....................................................................................................................... 19 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4 
I.MX6U Yocto 构建根文件系统 
原子哥在线教学:www.yuanzige.com                                         
前言 
 
  论坛:www.openedv.com 
 
yocto:yocto 是这个开源项目的名称,该项目旨在帮助我们自定义 Linux 系统,更多 yocto
介绍在此就不作解释了。相信网上的解释会比作者解释的更详细。以下文档内容仅供构建 yocto
根文件系统参考,yocto 是一个非常大的开源项目,并非作者一个文档就能说的清楚,作者也在
与大家共同学习 yocto。所以作者写这个文档是让读者初步去了解如何构建根文件系统,减少初
学者在构建过程中可能遇到的错误,更多 yocto 的详细与教程请参照正点原子的其他文档与官
方文档。 
NXP 官方已经有详细的 yocto 项目使用手册,文档名字为《i.MX_Yocto_Project_Ubuntu's_
Guide_Linux.pdf》,光盘资料路径为\开发板光盘 A-基础资料\4、参考资料\。网上也有很多 yoct
o 相关教程,同学们也可以借鉴参考。文档内容经过作者的实践与试验,已经成功构建文件系
统。若在学习以下文档内容有疑问,请与作者或正点原子技术支持沟通与联系。谢谢! 
备注:freescale 已经与 NXP 合并,以下文档内容不区分他们的名字。 
 
版本说明: 
  Ubuntu 版本:ubuntu-14.04 或以上(作者 ubuntu 环境是 ubuntu-14.04) 
  Yocto 版本:4.1.15-4.2.1.0 
  注意事项: 
  yocto 构建根文件系统需要预留足够的硬盘空间,I.MX yocto 手册上标明至少要留 120G 的
空间。 
  yocto 构建根文件系统需要非常长的时间,不建议用低配置的电脑进行构建。否则可能需要
一两天的构建时间。 
  yocto 构建的根文件系统包括了官方评估板所用的一切东西,文件系统十分巨大,需要读者
自行裁剪。 
作者考虑到了上面的因素,为读者准备了一个在线构建根文件系统的方法,也就是按照手
册的步骤来构建根文件系统(此方法耗时很长很长,由读者亲自体验与学习)。另一种离线构建
根文件系统(快餐式构建根文件系统),是作者准备好 yocto 项目源文件(正点原子修改过的)
和下载好的相关资源文件,直接给读者直接构建。可以节省读者在构建 yocto 根文件系统所用
的时间,直接构建出与正点原子 ALPHA 开发板一样功能的文件系统。 
一、在线构建根文件系统 
本节适用于 yocto 初学者,作者将一步步与大家分享 NXP  yocto 项目的搭建方法。如果读
者使用离线构建根文件系统的方法,可略过第一节的 1.1.1~1.2.2 小节。 
1.1 安装与配置 git 
1.1.1 安装 git 
因为 yocto 需要使用 git(用 git 来作版本控制),如果您已经有安装过 git 并且已经设置过
本地用户 git 信息就跳过此步。 
Ubuntu# sudo apt-get install git 
 
5 
I.MX6U Yocto 构建根文件系统 
原子哥在线教学:www.yuanzige.com                                         
 
  论坛:www.openedv.com 
 
图 1.1.1. 1  安装 git 
 
1.1.2 配置 git 用户信息 
Ubuntu# git config --global user.name "Your Name" 
Ubuntu# git config --global user.email "Your Email" 
Ubuntu# git config --list 
参数解释: 
⚫ 
--global user.name  :添加用户名 
--global user.email  :添加用户的 email 
⚫ 
--list  
⚫ 
比如作者设置个人的信息如下 
 
  :查看列表信息 
Ubuntu# git config --global user.name "DZM@alientek" 
Ubuntu# git config --global user.email "12345678@qq.com" 
Ubuntu# git config --list 
图 1.1.2. 1  查看配置的 git 用户信息 
 
1.2 获取 yocto 项目 
1.2.1 下载 repo 
repo 简介: 
repo 是一个构建在 Git 之上的工具,它可以更容易地管理包含多个存储库的项目,而这些
 
6 
 
 
I.MX6U Yocto 构建根文件系统 
原子哥在线教学:www.yuanzige.com                                         
存储库不需要位于同一台服务器上。repo 很好地补充了 yocto 项目的分层特性,使用户可以更
容易地将自己的层添加到 BSP 中。 
  论坛:www.openedv.com 
 
 
简单来说,repo 用来管理多个 git 工程,git 是无法将 freescale 的在存储库里面的某个项目
给 clone 下来,如果我们只需要 freescale 的 yocto 项目,(要想知道 freescale 可不只有 yocto 项
目呢),使用 Git 下载却把个存储库项目都下下来了。这就是为什么要用 repo 来管理更庞大的项
目的原因了。 
首先立工程项目文件夹(文件夹名称可随意)。 
Ubuntu# mkdir fsl-release-bsp 
Ubuntu# cd fsl-release-bsp 
图 1.2.1. 1  创建 fsl-release-bsp 文件夹 
 
获取 repo,由于国内外网络环境的原因,官方手册里下载 repo 的链接需要翻墙。下面提供
获取 repo 的两种方法,如果您的网络环境不能翻墙,建议使用方法二。(备注:网上下载的 repo
有很多种,经过作者实验网上有很多 repo 在 init 时会出错(需要修改 repo 里面的 REPO_URL
地址才能用)!所以作者已经把测试过 repo 上传到的 github 里。提供给读者参考与使用。) 
方法一,官方提供的下载地址,需要翻墙 
http://commondatastorage.googleapis.com/git-repo-downloads/repo   
方法二,正点原子提供的下载链接 
https://raw.githubusercontent.com/dzm2018/alientek-git-repo-downloads/master/repo   
本次演示的是方法二: 
Ubuntu# curl  https://raw.githubusercontent.com/dzm2018/alientek-git-repo-downloads/master/r
epo  >  ./repo 
修改 repo 文件的权限,注意不要使用 root 用户!(注:官方文档这里将 repo 导出环境变量
图 1.2.1. 2  下载 repo 
 
里,作者这里并不这样做。) 
Ubuntu# chmod u+x repo 
图 1.2.1. 3  赋予 repo 可执行权限 
 
1.2.2 获取 yocto 项目 
这里教大家选择 yocto 的分支,可以用浏览器打开网址 http://git.freescale.com/git/cgit.cgi/im
x/fsl-arm-yocto-bsp.git/查看 freescale 的 yocto 项目的分支。根据我们源码内核发布的版本号是 4.
1.15-2.10,可以从下图看出  imx-4.1-krogoth 分支就是对应内核 4.1.15-2.1.0 的版本,所以我们选
择 imx-4.1-krogoth 分支。 
 
7 
I.MX6U Yocto 构建根文件系统 
原子哥在线教学:www.yuanzige.com                                         
 
  论坛:www.openedv.com 
 
图 1.2.2. 1  选择 imx-4.1-krogoth 
获取 freescale  yocto 项目的 imx-4.1-krogoth 分支,在当前目录下执行下面的指令,执行过
程如下。过程中还会确认您的 git 用户信息是否是您在 1.1 节中配置的信息。 
Ubuntu# ./repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth 
连续输入三次 y,完成后可以看到 repo 初始化在当前目录下,使用 ls 指令可以查看隐藏文
图 1.2.2. 2  克隆 imx-4.1-krogoth 分支 
件夹.repo。 
 
 
图 1.2.2. 3  确认 git 用户信息 
8