Yocto Project 是一个专注于嵌入式 Linux® 操作系统开发的开源协作项目,它提供灵活的工具集和开发环境,允许全球的嵌入式设备开发人员通过共享技术,软件堆栈,配置和用于创建这些定制的Linux映像的最佳实践进行协作。
firefly 提供的 Yocer Project 支持情况如下表:
![](//file.elecfans.com/web2/M00/54/19/pYYBAGLRKeSAOHo3AABXD94Qoyw393.jpg)
Yocto Project Release layer 介绍
![](//file.elecfans.com/web2/M00/53/7C/poYBAGLRKeWAF4ozAAHwQtRSY9E654.jpg)
获取SDK
![](//file.elecfans.com/web2/M00/54/19/pYYBAGLRKeWAdv_WAABDoippxvs492.jpg)
编译
选择 core-image-minimal 映像
Yocto 项目提供了一些可用于不 layer 的映像。下表列出目前支持构建的映像和相关配方。
![](//file.elecfans.com/web2/M00/53/7C/poYBAGLRKeSAGgX4AAA_Rj1t7EM289.jpg)
编译映像文件
使用 bitbake 命令构建的过程需要保证网络连接正常,如果是中国内陆客户需要保证能 ping 通外网
进入目录<path/to/yocto>,按顺序执行如下命令
![](//file.elecfans.com/web2/M00/54/19/pYYBAGLRKeSAMz9hAAB-lR9pQ-U279.jpg)
以上命令是编译完整 core-image-minimal recipes,如果想单独编译部分 recipes 可以参考以下内容:
![](//file.elecfans.com/web2/M00/53/7C/poYBAGLRKeSAIkBuAABaK6FUrXg979.jpg)
更多 bitbake 选项
从根本上说,BitBake 是一个通用任务执行引擎,它允许 shell 和 Python 任务高效并行运行,同时在复杂的任务间依赖约束下工作。 BitBake 的主要用户之一,OpenEmbedded,利用这个核心并使用面向任务的方法构建嵌入式 Linux 软件堆栈。
![](//file.elecfans.com/web2/M00/54/19/pYYBAGLRKeSAXpaPAAAtyePLXuI532.jpg)
![](//file.elecfans.com/web2/M00/53/7C/poYBAGLRKeSAJvmzAADlcns-yxo136.jpg)
烧写映像
编译生成的固件位于目录<path/to/yocto>/build/tmp/deploy//,待下载的文件为.wic与update.img,进入loader模式后执行如下命令:
![](//file.elecfans.com/web2/M00/53/7C/poYBAGLRKeSAZm3hAAA-2weZ3sM294.jpg)
如果客户在 Windows PC 上开发,也可以使用 RKdevtool 直接烧录 update.img。
原作者:Firefly Team
|