我一直在为BeagleBoard使用Angstrom Linux distribution。谁能指出我有关bitbake和OpenEmbedded实际工作方式的教程或引用资料?例如,当我这样调用bitbake时:

bitbake virtual/kernel

实际发生了什么?我已经对Angstrom配方进行了搜索,并搜索了Angstrom文件系统,但是我似乎无法找到对虚拟或内核的引用。在不真正了解位烘焙的工作原理的情况下,使用此工具链和制作内核补丁时,我感到有些困惑。

最佳答案

不幸的是,BitBake是一款复杂的软件,没有最佳的用户文档。我认为它(宽松地)基于Gentoo中的portage系统,因此对该系统的一些熟悉可能会有所帮助。

我发现弄清楚在尝试构建某些东西时发生的最好的方法是将-g选项传递给bitbake,它将生成两个文件,depends.dot和task-depends.dot。前者是该程序包依赖关系的图形,显示了在运行特定任务时还会提取哪些其他程序包。后者显示了更多细节,显示了任务而不是包。这些任务的级别比软件包本身低。构建软件包可能会导致系统获取源代码,修补源代码,运行配置脚本,执行编译,安装二进制文件并将生成的文件拆分为子软件包。

这些文件可以显示您为什么要引入不需要的软件,以便您可以编辑有问题的软件包以删除其依赖性。可以使用graphviz包可视化此处生成的图形,但是如果对大型任务(例如图像任务)运行-g选项,则生成的图形将太大而无法可视化。通过.dot文件进行grep仍然很有用。

关于linux - 有人可以指点我看一下bitbake或openembedded教程吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7870362/

10-11 06:29