Yocto理论篇 | Yocto Project组件与Layers

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开发环境中的协作、共享、定制和重用。图层在逻辑上分离项目的信息。例如,可以使用一个层来保存特定硬件的所有配置。通过隔离特定于硬件的配置,可以使用不同的层来共享其他元数据,而这些元数据可能在多个硬件上是通用的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值