有关Yocto图层集版本控制的最新最佳实践

时间:2019-03-13 14:27:56

标签: yocto bitbake openembedded

Yocto具有一组独立的存储库,其中包含基本系统(Poky)和各种软件组件(所有meta-* repositories here,还有openembedded layer index)。因此,当您要为特定设备和目的构建映像时,需要检出一些存储库。

这些都由conf/bblayers.conf目录中的conf/local.confbuild文件捆绑在一起。但这是一个构建目录-应该是一次性的,仅包含可以根据要求轻松重新生成的信息。而且确实如此-除了conf/bblayers.conf中的层列表和MACHINE中的conf/local.conf之类的几个定义(定义要构建的目标系统)之外。

我应该如何版本此信息?

当前,我们有一个非常笨拙的脚本,用于汇编构建目录并写入配置文件,但它不知道如何在更改时正确更新它们。

那么还有更好的选择吗?最好避免在结帐/更新(使用子模块或repo),oe-init-build-env初始化脚本(如果构建目录不存在时会创建构建目录)和运行bitbake之间进行任何附加步骤合适的目标图片?

2 个答案:

答案 0 :(得分:1)

实际上,repo是用于管理具有所有所需存储库的清单文件的便捷工具。

然后,您可以使用TEMPLATECONF版本local.confbblayers.conf。我们的操作方法如下:https://pelux.io/software-factory/master/chapters/baseplatform/building-PELUX-sources.html

答案 1 :(得分:0)

Poky发行版本身使用Combo Layer工具,该工具似乎旨在解决此特定问题。但是,使用此工具时,工作流程的外观还不太清楚。

关于默认的bblayers.conflocal.conf文件,您可以在项目中的任何位置对它们进行版本控制,并在调用oe-init-build-env之后让脚本将其复制到构建文件夹中,或者简单地使用{ {1}}和meta-poky/conf/bblayers.conf.sample,在首次创建构建目录时由meta-poky/conf/local.conf.sample自动安装。

现在,当您进行更改或添加图层时,必须清除构建目录以使oe-init-build-env文件中的更改生效。