基本概念
OpenEmbedded编译系统:Yocto项目的编译系统,它是基于早期poky项目,使用BitBake作为执行器的编译系统。
BitBake: OpenEmbedded编译系统中用来编译镜像的任务计划器和执行器。
Metadata: BitBake在编译镜像时解析该文件。通常Metadata包括recipe,class和配置文件。当在kernel Metadata出现时,它是指内核的git源码池中meta分支中的Metadata.
OpenEmbedded编译系统支持组织Metadata到不同的层。层文件(layer)在yocto项目中允许你隔离不同的定制内容。要理解层是如何用来保持事物的模块化,以平台定制为例,这类定制通常在一个叫做板级支持包(BSP)的特别的层,而非普通层。并且,平台定制需要同支持GUI环境相关的recipe和Metadata隔离。这种情形给您一些不同的层,比如一个用于平台配置,一个GUI环境配置。理解这一点很重要,BSP层仍可以创建特定平台额外配置到GUI环境层的recipe中而不会因特定平台配置的变化而污染GUI环境层本身。这可以通过一个BitBake的附加recipe(.bbapend文件)来完成。
安装完DEY后,在安装目录下的Source文件夹中,包含了普通层和BSP层。这些代表层的文件夹通常有一个meta-开头的名称。在meta-digi普通层下有核心板的各BSP层,而在meta-fsl-arm下有i.mx6相关的各个BSP层。更多关于BSP层的信息,请参考Yocto Project Board Support Package (BSP) Developer's Guide的相关章节。
创建您自己的层 利用OpenEmbedded编译系统很容易创建自己的层来使用。Yocto项目带有脚本可以用来创建普通层和BSP层。创建层通常需要以下这些步骤:
详细说明,请参考:http://www.yoctoproject.org/docs/2.1/dev-manual/dev-manual.html#understanding-and-creating-layers