构建 Yocto 根文件系统

目录

安装 Git 与配置 Git 用户信息

获取 Yocto 项目 

开始构建 Yocto 文件系统 

构建 SDK 工具


 

特别说明,正点原子 I.MX6U 出厂系统就由 Yocto 编译出来的,不建议读者重复编译 Yocto ,重复造轮子,因为编译 Yocto 是非常困难的!

安装 Git 与配置 Git 用户信息

Yocto 项目需要用到 Git (用 Git 作版本控制)。如果您已经有安装过 git 并且已经设置过本
地用户 git 信息就跳过此小节。
sudo apt-get install git
git config --global user.name "alientek" // 配置 Git 用户名,输入个人用户名
git config --global user.email 12345678@qq.com // 输入 email 地址
git config --list // 查看个人配置的信息

获取 Yocto 项目 

repo 是一个构建在 Git 之上的工具,它可以更容易地管理包含多个存储库的项目,而这
些存储库不需要位于同一台服务器上。 repo 很好地补充了 yocto 项目的分层特性,使用户可以
更容易地将自己的层添加到 BSP 中。简单来说, repo 用来管理多个 git 工程。
首先立工程项目文件夹,文件夹名称可随意。
mkdir fsl-release-bsp
cd fsl-release-bsp
拷 贝压缩包到上面我们创建的 fsl-release-bsp 目录下。
tar xf repo.tar.bz2

 

获取 Yocto 项目,克隆 imx-4.1-krogoth 分支(此分支就是 I.MX6U 4.1.15 Linux 分支)。 ht
tps://source.codeaurora.org/external/imx/fsl-arm-yocto-bsp 为新的仓库地址,在 i.MX_Yocto_Projec
t_User's_Guide.pdf 这本手册里,旧的地地址已经不能使用!
chmod u+x repo
./repo init -u https://source.codeaurora.org/external/imx/fsl-arm-yocto-bsp -b imx-4.1-krogoth
如无法获取,请重新执行。在获取的过程中会要求确认第 1.1 小节里配置的 Git 信息。连
续按下两次 Enter 后,再输入两次 y 即可!
获取完成后,如下图,可以看到目录下多了一个 .repo 文件夹。
ls -a

 

执行 repo sync ,同步 NXP 官方 fsl-arm-yocto-bsp.git 项目的 imx-4.1-krogoth 分支。此过
程可能十分漫长,建议在早上执行,作者测试过早上比较快。可能早上网络使用的不多吧,所
下同步的时间比较快。同步过程中可能因为网络问题出错,解决办法只有重新执行!
./repo sync

 同步完成后可以看到有如下文件。

开始构建 Yocto 文件系统 

构建 Yocto 的文件系统镜像, freescale NXP )提供了几种镜像供我们构建,文件系统镜
像支持的功能越多,文件系统就越大,读者可自行选择一个来构建。
下面是发行版( DISTRO )的四种配置:
fsl-imx-x11 - 只有 X11 图形
fsl-imx-wayland - Wayland weston graphics
fsl-imx-xwayland - Wayland graphics and X11 。不支持使用 EGL X11 应用程序
fsl-imx-fb - 帧缓冲图形 - 没有 X11 Wayland
支持的 machine 有很多种,以下是按官方文档列出的几种。
imx6qpsabreauto
imx6qpsabresd
imx6ulevk
imx6ull14x14evk
imx6ull9x9evk
imx6dlsabreauto
imx6dlsabresd
imx6qsabreauto
imx6qsabresd
imx6slevk
imx6solosabreauto
imx6solosabresd
imx6sxsabresd
imx6sxsabreauto
imx7dsabresd
如下表格简单介绍了几种镜像
官方提供了 fsl-setup-release.sh 脚本来构建项目,脚本语法如下:
DISTRO=<distro name> MACHINE=<machine name> source fsl-setup-release.sh -b <build d
ir>
参数解释:
DISTRO :发行版类型
MACHINE :机器类型
-b: 指定工程构建输出的目录
发行版我们选择 fsl-imx-x11 ,正点原子的发布的系统需要运行 Qt5 程序,所以选择 fsl-imag
e-qt5 这个文件系统镜像来构建。我们开发板是 IMX6ULL 芯片,所以 MACHINE 选择是 imx6
ull14x14evk fsl-setup-release.sh 这个脚本会解释用户配置的参数。
安装编译所必须的库。下面为一行指令,建议复两行复制。
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential
chrpath socat libsdl1.2-dev curl

 执行下面的指令开始配置,build 是构建的目录。

DISTRO=fsl-imx-x11 MACHINE=imx6ull14x14evk source fsl-setup-release.sh -b build

配置过程中请你阅读 EULA 内容,输入 q 退出阅读内容后再按 y 确认已经阅读,再继
续下一步。
构建的时长的因素与以下几点有关:计算机的性能(硬盘写入速度, CPU 的核心数),网
络下载速度,还与您的 Ubuntu 虚拟机在安装时分配的核心数与分配的内存有关!构建过程中
可能会出错 ( 报错的位置请根据提示的信息自行解决,没固定的解决方法 ) ,可按 Ctrl +c 终止,
再次输入 bitbake fsl-image-qt5 构建。 Yocto 支持从断点处重新构建。因为构建过程中已经生
成缓存文件,重复构建时会跳过已经构建过的任务。注:编者 Ubuntu 分配 16GB 内存(用户
虚拟机能尽量分大内存就分大内存,否则可能出现编译不通过的情况), 16 个核心数,网速为
100M ,大约构建了 9 个小时!
开始构建含 Qt 库的根文件系统
bitbake fsl-image-qt5

 构建完成后进入 build/tmp/deploy/images/imx6ull14x14evk 这个目录下。

 

我们需要的文件系统镜像压缩包是 fsl-image-qt5-imx6ull14x14evk-20190904030729.rootfs.tar.bz2 , 文件系统比较大,读者按需裁剪,或者按需修改 yocto 项目源文件再构建。

构建 SDK 工具

构建完成我们含 Qt5 的文件系统后,还需要构建 SDK 工具。 SDK 工具里面含交叉编译 Qt 工具链。
同样地在 build 目录下接着执行,即可构建。
bitbake meta-toolchain-qt5
构建成功后,进入 build/tmp/deploy/sdk 目录,查看生成的文件。其中 fsl-imx-x11-glibc-x86_64-
meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh 是我们需要的文件。

 

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
i.MX6U是一款由NXP Semiconductors开发的嵌入式处理器,它广泛应用于各种嵌入式系统中。Yocto是一个开源的项目,用于构建嵌入式Linux发行版。在使用i.MX6U开发嵌入式系统时,可以利用Yocto构建定制化的文件系统构建i.MX6U的Yocto文件系统的步骤如下: 1.安装必要的软件:在开始之前,需要安装Yocto项目所需的软件包,包括git、wget、ccache等等。可以据操作系统的不同,选择合适的软件包进行安装。 2.下载Yocto代码:通过使用git工具从Yocto项目的仓库中克隆所需的代码。可以选择稳定版本或开发版本,据实际需求进行选择。 3.配置构建环境:进入相应的文件夹,执行配置脚本以设置构建环境。这些配置脚本可以据具体需求进行修改,例如选择使用的工具链、文件系统类型等等。 4.自定义配置:可以在构建文件系统之前进行一些自定义配置。可以修改配置文件,添加和删除不需要的软件包,设置内核选项等。 5.构建文件系统:执行构建脚本,开始构建定制化的文件系统。这个过程可能需要一段时间,具体时间取决于硬件性能和所选择的软件包的数量。 6.安装文件系统构建完成后,将生成的文件系统镜像烧录到目标设备的存储介质中,例如SD卡或eMMC闪存。 7.调试和测试:将存储介质插入到i.MX6U设备中,启动设备并进行调试和测试。可以通过串口连接设备,查看和分析启动和运行时的消息和日志。 总而言之,通过使用Yocto构建文件系统,可以定制化i.MX6U嵌入式系统的配置、软件包和内核选项,实现完全适合自己需求的系统。这种方法提供了灵活性和可扩展性,同时也有利于系统的稳定性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hqb_newfarmer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值