Bitbake和Poky是什么?

15
请问有人能简要解释一下Bitbake、Poky、Recipes是什么吗?用通俗易懂的语言,我只想了解这些工具的基本概念。谢谢。
2个回答

26

让我们简单介绍一下 Bitbake、poky 和 Recipes 之间的关系。

Poky 是 Yocto 项目的参考系统,由一组工具和元数据组成。Poky 是平台无关的,使用 Bitbake Tool、OpenEmbedded Core 和一组默认元数据进行交叉编译。Poky 的主要目标是提供嵌入式开发者需要的所有功能。

enter image description here

Bitbake 是一个任务调度器,解析 Python 和 Shell 脚本混合代码,我们称之为 Recipes。解析后生成并运行任务,它们是根据代码依赖关系排序的一组步骤。

Metadata 是所有 Recipes 的所在地,由 Python 和 Shell 脚本文本文件组成。Poky 使用此来扩展 OpenEmbeddded Coremeta-yoctometa-yocto-bsp

来源:嵌入式 Linux 开发与 Yocto Project by Otavio Salvador and Daiane Angolini


2
唉...这比必要的复杂得多...为什么不能只是一个简单的git pull和make呢? - Assimilater
哦我的天啊,我差不多能理解这个了。但是,我认为他们应该添加更多晦涩难懂的术语来保持神秘感;)那么Poky是一个包含BitBake工具的构建工具?一个工具如何包含另一个工具?什么是OpenEmbeded?因此,元数据是一组配方吗?对我来说,“配方集合”与“配方”意思相同。为什么要多一个术语?什么是“BSP”?到底什么是“yocto”?什么是“参考系统”? - steve
3
Poky是Yocto项目的参考系统:什么情况下你不会使用Poky - Bob
2
参考系统是相对于什么而言的?具体指的是什么? - daparic

5
  • Bitbake 是一个通用的任务执行引擎,允许在复杂的任务依赖约束条件下高效地并行运行 shell 和 Python 任务。更多细节请参见:什么是 Bitbake

  • Poky 提供了一个基于 Linux、X11、Matchbox、GTK+、Pimlico、Clutter 和其他 GNOME 移动技术的开源全平台构建工具。Poky 主要是一个平台构建器,它基于开源软件生成文件系统映像。更多细节请参见:什么是 Poky

  • Recipes (.bb 文件)是 Yocto Project 环境中的基本组件。OpenEmbedded 构建系统构建的每个软件组件都需要一个 recipe 来定义该组件。更多细节请参见:如何创建 recipe


7
我认为更好的 Poky 翻译是:“Poky 是 Yocto 项目的一个参考发行版。它包括 OpenEmbedded Build System(BitBake 和 OpenEmbedded Core),以及一组元数据,可帮助您开始构建自己的发行版。” https://www.yoctoproject.org/tools-resources/projects/poky。你给出的参考资料非常陈旧,我认为那时候伞形项目还被称为 Poky vs. Yocto。虽然有重叠之处,但这个句子现在更好地描述了 Yocto 而不是 Poky。 - Anders
看不到认可Anders的回复的方式,所以就当做+1吧。原始引用来自2010年,应被视为历史性的。 - Ross Burton
@Anders:为什么不添加一个答案呢?提供一个不同的答案来否定别人的答案似乎很奇怪。 - steve
@steve 这只是一条评论,不是在“敲打”你的回答。评论用于提出改进意见。我想说的是,Poky现在不是一个“完整的平台构建工具”或“主要的平台构建器”。这些部分现在被称为Yocto(和Bitbake)。目前被称为Poky的部分只是被构建的参考配置。它曾经有点混杂在一起,但那是历史的。 - Anders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接