Bitbake可以基于变量包含/要求文件吗?

时间:2018-09-22 07:38:09

标签: yocto bitbake openembedded

借助bitbake,我希望能够基于变量(即,

)包含/请求其他文件。

需要$ {somevar}

从我读过的所有内容来看,这不能直接起作用,但是也许有针对我的特定用例的解决方案。我正在使用OECore,并希望有一个图像配方,该图像配方包括基于MACHINE之类的位于另一文件中的一组设置。因此,不必这样做:

SETTING_A_machine1 = "..."
SETTING_B_machine1 = "..."
SETTING_C_machine1 = "..."
SETTING_D_machine1 = "..."
...
SETTING_A_machine2 = "..."
SETTING_B_machine2 = "..."
SETTING_C_machine2 = "..."
SETTING_D_machine2 = "..."
...

我希望能够做到这一点:

require include/${MACHINE}.inc

include / machine1.inc

SETTING_A = "..."
SETTING_B = "..."
SETTING_C = "..."
SETTING_D = "..."

include / machine2.inc

SETTING_A = "..."
SETTING_B = "..."
SETTING_C = "..."
SETTING_D = "..."

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Yocto支持计算机覆盖,您可以尝试以下方法吗:

your-image-recipe.bb
include/machine1/common.inc
include/machine2/common.inc

然后在your-image-recipe.bb中,您拥有:

require include/common.inc

答案 1 :(得分:1)

您真的尝试过吗?

需要include / $ {MACHINE} .inc

应该工作。如果您查看bitbake.conf,则这是机器配置文件首先包含的方式!您只需要注意,这意味着立即进行变量扩展,因此,如果在此处引用$ {FOO},则稍后在文件更改FOO中,它不会反映在包含的文件中。