如何在Yocto中覆盖.conf文件

时间:2019-10-31 11:09:50

标签: yocto bitbake

我知道如何在自定义图层中使用.bb文件覆盖.bbappend文件,并复制原始文件的确切路径。

但是什么时候要覆盖的文件是.conf?我正在阅读大型手册,但找不到这些信息(也许我看错了章节)。

更新

这是我想做的一个例子。 原始.conf文件包含以下行:

IMAGE_FEATURES[validitems] += "qtcreator-debug"

,我想删除它。如果它是.bb文件,我将使用以下命令创建一个bbappend文件:

IMAGE_FEATURES[validitems] -= "qtcreator-debug"

2 个答案:

答案 0 :(得分:3)

基本上,.conf文件是从上到下进行评估的。因此,您始终可以覆盖任何内容,并且在对某项运行bitbake -e时会列出确切的评估顺序,此外,每个变量的评估也很详尽。

所以,这就是一部分。另一个是,正确的.conf文件实际上设置了它们的变量 meant ,这些变量将使用?=??=运算符进行调整,从而更易于覆盖。因此,如果要维护的.conf是要维护的.conf,请考虑重写它。如果没有,请考虑一下为什么可能没有这样写,如果覆盖它实际上是正确的解决方案,或者仅仅是胶带解决方案。

答案 1 :(得分:1)

有多种方法可以做到这一点。 1)您始终可以覆盖local.conf中的内容,它具有最高的评估优先级。但局限性在于需要手动编辑local.conf,并且更改仅适用于具有该特定local.conf的版本。 2)如果有道理,您可以创建一个新的conf文件,并使用“ require”继承原始的conf文件,然后覆盖内容。在基于现有文件创建新的计算机配置文件时,这很有用。 3)最后,覆盖整个conf文件的蛮力机制是在自定义层中创建一个具有相同名称的新conf文件,并将自定义层的层优先级设置为高于包含原始conf文件的层。这意味着您必须自己维护覆盖的conf文件。此方法也适用于覆盖bbclass。 4)您也可以在图像配方中修改IMAGE_FEATURES(请参见http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-sato/images/core-image-sato.bb)。