内部网站建设app,免费注册com的网站,游戏推广联盟,延庆网站建设提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、初始化构建目录二、imx-setup-release.sh脚本解析三、编译单独编译内核四、烧录总结前言
本篇文章主要讲解如何在下载好源码之后进行编译和yocto的脚本解析… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录前言一、初始化构建目录二、imx-setup-release.sh脚本解析三、编译单独编译内核四、烧录总结前言
本篇文章主要讲解如何在下载好源码之后进行编译和yocto的脚本解析
提示以下是本篇文章正文内容下面案例可供参考
一、初始化构建目录
Freescales提供了imx-setup-release.sh脚本。该脚本用于初始化Yocto构建目录该脚本语法如下
DISTROdistro name MACHINEmachine name source imx-setup-release.sh -b build dir例如使用如下
DISTROfsl-imx-fb MACHINEimx6ull14x14evk source imx-setup-release.sh -b build 说明 1imx-setup-release.sh脚本运行后会先让阅读一些EULA许可 阅读完成后也可以按q退出阅读按”y“接受EULA即完成了Yocto构建目录的初始化
2该脚本运行结束后会自动生成build文件夹并自动切换至build路劲后续系统的构建过程就是在该build文件夹下完成的。同时在build文件夹下还会生成一个conf文件夹 如下 其中下面两个文件中的内容其实就是来自前面的脚本imx-setup-release.sh 具体参考如下 imx-setup-release.sh bblayer.conf该配置文件定义了构建嵌入式Linux系统发行版所需要使用的metalayers即使用那些source/meta-xxx
local.conf该配置文件定义了MACHINE和DISTRO的配置项 二、imx-setup-release.sh脚本解析
imx-setup-release.sh脚本运行时需要输入3个主要参数
DISTROfsl-imx-fbMACHINEimx6ull14x14evk-b build其中-b build生成了一个build文件夹用于存放Yocto在构建系统过程中产生的临时文件、构建日志以及最终生成的安装文件等。
DISTRO和MACHINE这两个参数找到对应的meta-xxx的machine和distro文件夹 中相对应的配置文件.conf这些配置文件定义了所需构建的嵌入式Linux系统的功能和状态
例如DISTRO fsl-imx-fb则会找到sources/meta-imx/meta-sdk/conf/distro路径下的fsl-imx-fb.conf文件在该文件中定义了一些变量用于配置嵌入式Linux发行版
例如MACHINE imx6ull14x14evk则会找到sources/meta-imx/meta-bsp/conf/machine路径下的imx6ull14x14evk.conf文件在该文件中定义了一些变量用于配置嵌入式Linux运行的硬件平台
三、编译
Yocto项目中采用的是BitBake工具来构建嵌入式Linux系统的。通过repo获取了Yocto项目的同时也一起获取BitBake工具直接使用即可。使用BitBake的最主要目的是生成一些安装包、内核、SDK以及一个完整的嵌入式Linux发行版包括U-Boot、Kernel、Rootfs、DeviceTree)
运行imx-setup-release.sh脚本后会自动生成一个build文件夹进入该文件夹运行bitbake命令编译如下
bitbake imx-image-coreFreescale提供了几个target镜像文件可供选择需要注意的是镜像文件支持的功能越多根文件系统就越大 实际上通过运行bitbake imx-image-core命令bitbake会找到/sources/meta-imx/meta-sdk/recipes-fsl/images/fsl-image-core.bb文件依据里面的配置进行系统的构建 也就是说bitbake会去解析xxx.bb文件进行构建这就和makemakefile一样
系统构建完成后会在build/tmp/deploy/images/imx6ull14x14evk路径下输出镜像文件
单独编译内核
bitbake -c compile -f linux-imx 在如下目录中就有编译后的镜像
build/tmp/work/imx6ull14x14evk-poky-linux-gnueabi/linux-imx/5.4-r0/build/arch/arm/boot可以通过bitbake -c deploy -f linux-imx命令将生成的zImage文件等安装“复制”至安装路径下如build/tmp/deploy/images/imx6ull14x14evk 四、烧录
首先下载工具mfgtools https://github.com/NXPmicro/mfgtools
要按照如下操作 之后执行 sudo cp uuu /bin/这样就可以去烧录镜像了如下 主要是后面那个参数如下
总结
本文针对恩智浦的imx6ull进行编译和烧录进行并且对里面的编译脚本进行了解释下篇文章讲解yocto的工作流程和介绍build目录
喜欢就收藏关注吧