2.3.5 OpenEmbedded和Yocto项目的关系

在OpenEmbedded和Yocto项目之间的技术对准对这两个项目都带来了一些主要的改进:

对准开发(aligned development):在开源项目中常见的问题是分裂——有相同的根源和类似目标的两个项目派生并且产生隔阂。资源被分割并且最终在两个分支上重复努力,提供类似的功能。最终,用户和支持者被强制在这两个努力之间做出选择。OpenEmbedded和Yocto项目的紧密对准保证了用户可以获得这两个项目的好处。

BitBake元数据层:元数据层能使菜谱和配置文件逻辑分组成可以被轻松纳入并迁移到不同构建环境的结构。元数据层也简化了依赖管理,这是在构建操作系统栈时的复杂任务。

OpenEmbedded核心元数据层(openEmbedded core metadata layer):OpenEmbedded和Yocto项目开发团队同意创建这两个项目共享并且包含所有基准菜谱和配置设定的通用的元数据层。然后,每个项目根据其目标增加额外的元数据层。

虽然OpenEmbedded和Yocto项目之间有紧密的协作,但是这两个项目是独立的实体。它们都是开源项目并且都受到了由开源开发者和商业团体组成的社区的支持。

OpenEmbedded聚焦在尖端技术、菜谱和一大套针对不同硬件平台的板支持包。Yocto项目聚焦在构建系统本身和针对交叉开发的工具化上。Yocto项目的目标是提供强大却简单易用并且测试良好的工具以及核心的元数据集合,以启动嵌入式系统开发。额外的板支持包和其他组件是通过OpenEmbedded和Yocto项目生态系统来提供的。

OpenEmbedded项目也维护了层的索引,这是可检索的层、菜谱和机器的数据库。要寻找构建特定的开源包的菜谱,向层索引输入名字,可能的情况是某个人已经为它创建了菜谱。