如何在yocto

时间:2017-10-18 20:36:51

标签: yocto

我们公司开发了多种硬件并具有Yocto Linux支持。我们还将其他机器(如rpi)整合到我们的Yocto项目中。我们有自己的bbappend文件,我们希望通过添加后缀将其作为指定的机器。因此它不会像rpi那样影响其他机器。

例如,SRC_URI_ourMachine += " \。但是我们有几台机器,我们如何将它们打包成一个像rpi一样的机器。 Raspberry Pi有几个模块,如RaspberryPi,RaspberryPi2,RaspberryPi3,RaspberryPi-CM,RaspberryPi-CM3。但是如果你做SRC_URI_rpi += " \,它会影响所有的rpi机器。

我们怎样才能做到这一点?感谢。

2 个答案:

答案 0 :(得分:1)

我认为您可以使用 - MACHINEOVERRIDES变量解决此问题。

在您的配置文件中 meta-name / conf / machine / include / machine-name.inc
MACHINEOVERRIDES =. "common-name:"

然后在任何食谱中您可以像这样使用它(例如使用SRC_URI): SRC_URI_common-name = "..."

文档链接:http://www.yoctoproject.org/docs/2.3.2/mega-manual/mega-manual.html#var-MACHINEOVERRIDES

使用 qemuall 进行搜索的示例:https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/machine/include/qemu.inc#n14

答案 1 :(得分:0)

另一个解决方案是$ docker run c250a9d1d109 BUILD_TYPE=prod CONFIG_FILE_PATH=config-prod.yml 。此解决方案需要将SOC_FAMILY = common-name:放在conference或inc文件中。

然后在任何食谱中您可以像这样使用它(例如include conf/machine/include/soc-family.inc}:SRC_URI