Yocto Project
Yocto Project 是一个开源协作项目,它提供了一些模板、工具和方法来支持面向嵌入式产品的自定义 Linux 系统,不管硬件架构是什么。
Yocto Project 的两大主要组件由 Yocto Project 和 OpenEmbedded 项目一起维护,这两个组件是 BitBake 和 OpenEmbedded-Core,前者是构建引擎,后者是运行构建过程所使用的一套核心配方 (recipe)。
yocto project 的官方网站是:https://www.yoctoproject.org/ .
yocto官网downloads目录下提供了各个版本的yocto 下载,document目录下还提供了yocto project的相关文档。
BitBake
BitBake 是一个构建引擎。它读取配方(recipe)并通过获取程序包来密切关注它们、构建它们并将结果纳入可引导映像。BitBake 由 Yocto Project 和 OpenEmbedded 项目共同维护。
Yocto 官网提供了 bitbake 的 user manual:
http://www.yoctoproject.org/docs/2.2/bitbake-user-manual/bitbake-user-manual.html
recipe
文件扩展名为.bb的BitBake配方(recpie)文件是最基本的元数据文件.
一个Recipe包括了一组元数据,而这些元数据则定义了与一个项目相关的构建信息:源代码的地址,项目相关的特定配置参数以及如何编译、安装和打包。
Yocto project reference menu 中列出了 配方(recipe文件)中常用的元数据:
http://www.yoctoproject.org/docs/1.8/ref-manual/ref-manual.html#bitbake-dev-environment
Yocto 源代码结构
Yocto 项目源代码目录由很多子目录组成。其中包括:
1. bitbake/
2. build/
3. documentation/
4. meta/
5. meta-yocto/
6. meta-yocto-bsp/
7. meta-selftest/
8. meta-skeleton/
9. scripts/
10. oe-init-build-env
11. oe-init-build-env-memres
12. LICENSE, README, and README.hardware
下面主要介绍一下build/和meta/目录,关于yocto项目源代码目录的详细介绍见:http://www.yoctoproject.org/docs/1.8/ref-manual/ref-manual.html#ref-structure
1.build/ 目录
此目包含录OpenEmbedded构建系统生成的用户配置文件和输出。构建目录最初在运行OpenEmbedded构建环境设置脚本(即oe-init-build-env或oe-init-build-env-memres)时创建。
可以通过在OpenEmbedded构建环境设置脚本指定目录,将此目录放置在与源目录(poky/)分离的目录中。
1.1.build/buildhistory
当您启用构建历史记录功能时,OpenEmbedded构建系统将创建此目录。 该目录将追踪构建信息到系统镜像,软件包