【问题标题】:Can bitbake include/require a file based on a variable?bitbake 可以包含/需要基于变量的文件吗?
【发布时间】:2018-09-22 20:32:03
【问题描述】:

使用 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

包括/machine1.inc

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

包括/machine2.inc

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

有什么想法吗?

【问题讨论】:

    标签: yocto bitbake openembedded


    【解决方案1】:

    Yocto 支持机器覆盖,你可以试试下面的:

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

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

    require include/common.inc
    

    【讨论】:

    • 这不起作用,覆盖 SRC_URI 的工作,但不包括这样的路径。原因是不需要这样做,需要 include/${MACHINE}.inc 就可以了。
    【解决方案2】:

    你真的试过了吗?

    需要包含/${MACHINE}.inc

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

    【讨论】:

      猜你喜欢
      • 2011-11-25
      • 2013-05-06
      • 1970-01-01
      • 2019-03-05
      • 2020-10-26
      • 2015-08-17
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      相关资源
      最近更新 更多