Yocto图层集版本控制的最佳当前实践
Yocto有一组独立的存储库,其中包含基本系统()和各种软件组件(所有的,还有)。因此,当您想要为特定的设备和用途构建映像时,您需要签出一些存储库 这些都由Yocto图层集版本控制的最佳当前实践,yocto,bitbake,openembedded,Yocto,Bitbake,Openembedded,Yocto有一组独立的存储库,其中包含基本系统()和各种软件组件(所有的,还有)。因此,当您想要为特定的设备和用途构建映像时,您需要签出一些存储库 这些都由build目录中的conf/bblayers.conf和conf/local.conf文件绑定在一起。但这是一个构建目录,它应该是一次性的,只包含可以根据请求轻松重新生成的信息。除了conf/bblayers.conf中的层列表和conf/local.conf中的MACHINE等两个定义之外,它还可以定义要构建的目标系统 我应该如何编辑此信息
build
目录中的conf/bblayers.conf
和conf/local.conf
文件绑定在一起。但这是一个构建目录,它应该是一次性的,只包含可以根据请求轻松重新生成的信息。除了conf/bblayers.conf
中的层列表和conf/local.conf
中的MACHINE
等两个定义之外,它还可以定义要构建的目标系统
我应该如何编辑此信息
目前,我们有一个相当粗糙的脚本来组装构建目录并写入配置文件,但它不知道如何在更改时正确更新它们
那么有更好的选择吗?最好是在签出/更新(使用子模块或
repo
)、oe init build env
init脚本(如果不存在构建目录,则创建该目录)和使用适当的目标映像运行bitbake
)之间避免任何附加步骤,这似乎是为了解决这个特殊问题而设计的。然而,当使用这个工具时,工作流应该是什么样子还不是很清楚
关于默认的bblayers.conf
和local.conf
文件,您可以在项目中的任意位置对它们进行版本设置,并在调用oe init build env
后让脚本将它们复制到构建文件夹中,或者简单地使用meta poky/conf/bblayers.sample
和meta poky/conf/local.conf.sample
,在首次创建生成目录时,由oe init build env自动安装
现在,当您进行更改或添加层时,您必须清除
.sample
文件中更改的生成目录才能生效。实际上,repo
是一个方便的工具,用于管理包含所有所需存储库的清单文件
然后,您可以使用
TEMPLATECONF
来修改local.conf
和bblayers.conf
。我们是这样做的:这不是同一个问题,因为我遇到的问题适用于即使我只使用了小额回购协议。它仍然包含许多需要激活或不激活的层和许多配置选项,我需要以一致的方式对这组选项进行版本设置;TEMPLATECONF部分似乎是最好的,因为它不支持更新,但我看不到任何其他的更新。是否有任何东西(在YOCTO工作流中)阻止local.conf
和bblayers.conf
成为指向其他版本文件的符号链接?如果没有,您可以让安装脚本生成符号链接并调用you@YvesLhuillier,问题是这些配置中的某些信息是特定于生成环境的,而有些则不是。