2015-12-15 156 views
2

我在尝试yocto(2.0,jethro),我想从core-image-minimal开始构建一个图像。这工作正常。Yocto/bitbake/OpenEmbedded:build/conf/local.conf内容的最佳位置?

每个网站在那里都提到修改文件build/config/local.conf与(我)的一些定制。例如,目标机器(通过MACHINE)或某些全局设置(通过EXTRA_IMAGE_FEATURES)。

我还需要修改一些特定的软件包,并且这样做的方法是创建一个自定义层。到现在为止还挺好。

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

它真的是yocto项目的工作方式吗?还是我错过了一个不同的配置文件,我需要把这些设置?我虽然我可以将所有这些放在自定义图层中,但它似乎不起作用...

任何想法或建议?

谢谢!

回答

2

一般来说,local.conf中的“您的项目”中的所有内容都应该移到您自己的发行版配置(MACHINE,映像功能,软件包列表)中。如果您愿意,可以将DL_DIR所在的东西移动到常见的site.conf中。最终你应该得到一个只设置DISTRO和一些其他个人变量的local.conf。

1

谢谢罗斯,澄清了它!

以下是关于我的文件组织的一些注释,我无法将其格式化为对您的答案的评论。

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

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

  • 这是在build/conf/local.conf设置DISTRO。这就是你如何告诉你想要建立什么。
  • MACHINE它也设置在build/conf/local.conf。原因是可以为不同的机器构建相同的图像/发行版组合,因此不能对每个图像进行硬编码。
  • 图层手动添加到build/conf/layers.conf。这是我希望我能移到我的DISTRO之类的最后一点。目前,这些文件夹是git子模块,它们使用bitbake-layers add-layer添加。