1 Yocto Project组件
BitBake任务执行器与各种类型的配置文件一起构成了开放内核。
BitBake处理数据文件的解析和执行。数据本身有多种类型:
- Recipes:提供特定软件的详细信息。
- Class Data:抽象常见的构建信息(例如,如何构建Linux内核)。
- Configuration Data:定义板子特定的配置、策略等。配置数据充当粘合剂将所有内容绑定在一起。
1.1 BitBake
BitBake是OpenEmbedded构建系统的核心工具,负责解析元数据,从中生成任务列表,然后执行这些任务。
若要查看BitBake支持的选项列表,请使用以下任一命令:
$ bitbake -h
$ bitbake --help
BitBake最常见的用法是BitBake packagename,其中packagename是要构建的包的名称(称为“目标”)。目标通常相当于配方文件名的第一部分(例如,“foo”表示名为foo_1.3.0-r0.bb的配方)。因此,要处理matchbox-desktop_1.2.3.bb配方文件,可以键入以下内容:
$ bitbake matchbox-desktop
还尝试先执行任何依赖BitBake的任务。例如,在构建matchbox-desktop之前,BitBake将构建一个交叉编译器和glibc,如果它们还没有被构建的话。
另一个有用的BitBake选项是-k或--continue选项。此选项指示BitBake在遇到错误后尽可能长时间地尝试并继续处理作业。当发生错误时,无法重新生成失败的目标和依赖它的目标。但是,使用此选项时,仍可以处理其他依赖项。
1.2 Recipes
文件后缀为.bb的文件是“recipes”文件。一般来说,配方包含有关单个软件的信息。此信息包括下载源的位置、要应用于该源的任何源补丁程序(如果需要)、要应用的特殊配置选项、如何编译源文件以及如何打包已编译的输出文件。
1.3 Classes
类文件(.bbclass)包含有助于在配方文件之间共享的信息。例如autotools类,它包含autotools使用的任何应用程序的公共配置。
1.4 Configurations
配置文件(.conf)定义了各种配置变量,这些变量管理OpenEmbedded构建过程。这些文件分为几个方面,这些区域定义了板子配置选项、发行版配置选项、编译器调优选项、通用配置选项和conf中的用户配置选项/local.conf,在生成目录中找到。
2 Layers
Layers是包含相关元数据(即指令集)的存储库,这些元数据告诉开放式构建系统如何构建目标。Yocto Project的层模型促进了Yocto Project开发环境中的协作、共享、定制和重用。图层在逻辑上分离项目的信息。例如,可以使用一个层来保存特定硬件的所有配置。通过隔离特定于硬件的配置,可以使用不同的层来共享其他元数据,而这些元数据可能在多个硬件上是通用的。
标签:Layers,Yocto,配置,文件,选项,BitBake,Project,构建 From: https://blog.51cto.com/u_13726704/6017501