如何在yocto中对设备名称进行分组

如何在yocto中对设备名称进行分组

问题描述:

我们公司开发了多个硬件并具有Yocto Linux支持。我们还将其他机器如rpi集成到我们的Yocto项目中。我们有我们自己的bbappend文件,我们希望通过添加后缀指定它作为机器。因此它不会影响像rpi这样的其他机器。例如,SRC_URI_ourMachine += " \。然而,我们有几台机器,我们如何将它们打包成一个像rpi的机器。 Raspberry Pi有几个模块,如RaspberryPi,RaspberryPi2,RaspberryPi3,RaspberryPi-CM,RaspberryPi-CM3。但是如果你做了SRC_URI_rpi += " \,它会影响所有的rpi机器。如何在yocto中对设备名称进行分组

我们该如何做到这一点?谢谢。

我想你可以使用 - MACHINEOVERRIDES变量来解决这个问题。

在配置文件中元名称/ conf目录/机/包括/机器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

实施例狭小与qemuallhttps://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/machine/include/qemu.inc#n14

+0

谢谢!还有一个问题,在你的例子中,'MACHINEOVERRIDES =。 “common-name”,“=”是什么意思? –

+1

嗯,这只是在BitBake文档中也很好的预执行操作 - http://www.yoctoproject.org/docs/2.3.2/bitbake-user-manual/bitbake-user-manual.html#appending-and- prepending-without-spaces – astor555

+0

其实我找到了Raspberry Pi,他们使用全局变量'SOC_FAMILY =“rpi”'。他们之间有什么不同?哪一个最适合我? –

还有另一种解决方案是SOC_FAMILY = common-name:。此解决方案需要将include conf/machine/include/soc-family.inc放入会议或inc文件中。

然后在任何配方你可以用它像这样(例如用SRC_URI):SRC_URI_common-name = "..."