Yocto/bitbake/OpenEmbedded: build/conf/local.conf 内容的最佳位置?

Yocto/bitbake/OpenEmbedded: Best place for build/conf/local.conf's content?

我正在试用 yocto(2.0,jethro),我想构建一个从 core-image-minimal 开始的图像。这很好用。

那里的每个网站都提到用我的(部分)自定义修改文件 build/config/local.conf。比如目标机器(通过MACHINE)或者一些全局设置(通过EXTRA_IMAGE_FEATURES)。

我还需要修改一些特定的包,方法是创建一个自定义层。到目前为止一切顺利。

我不明白的是如何"save" 我所有的配置到版本控制。我希望我更改的所有内容都位于我可以提交的文件中,以便其他任何人都可以重现完全相同的构建(甚至为该项目做出贡献)。将几乎所有内容都放在 build/config/local.conf 中违背了该目标;该文件位于 "build" 目录下,所以我不能只克隆一个 git 存储库并开始构建...

yocto 项目真的是这样运作的吗?或者我是否缺少需要放置这些设置的不同配置文件?我虽然可以将所有这些放在自定义层中,但它似乎不起作用...

有什么想法或建议吗?

谢谢!

一般来说,local.conf "your project" 中的所有内容都应移至您自己的发行版配置(机器、图像功能、包列表)。如果您愿意,可以将 DL_DIR 之类的内容移至公共 site.conf。最终你应该得到一个 local.conf,它只设置了 DISTRO 和其他一些个人变量。

谢谢罗斯,澄清了!

这里有一些关于我的文件组织的注释,我无法将其格式化为对您的回答的评论。

谢谢。所以我所有的自定义配置都进入了 meta-mylayer/conf/distro/mylayer.conf

我几乎所有的定制都进入了一层 meta-mylayer,除了:

  • DISTRO 设置在build/conf/local.conf。这就是您告诉 yocto 您想要构建什么的方式。
  • MACHINE也是在build/conf/local.conf中设置的。原因是可以为不同的机器构建相同的 image/distro 组合,因此不能对每个图像进行硬编码。
  • 层已手动添加到 build/conf/layers.conf。这是我最后一点希望我可以转移到我的 DISTRO 或其他东西。现在文件夹是 git 子模块,它们是使用 bitbake-layers add-layer.
  • 添加的