2017-10-18 76 views
0

我們公司開發了多個硬件並具有Yocto Linux支持。我們還將其他機器如rpi集成到我們的Yocto項目中。我們有我們自己的bbappend文件,我們希望通過添加後綴指定它作爲機器。因此它不會影響像rpi這樣的其他機器。例如,SRC_URI_ourMachine += " \。然而,我們有幾臺機器,我們如何將它們打包成一個像rpi的機器。 Raspberry Pi有幾個模塊,如RaspberryPi,RaspberryPi2,RaspberryPi3,RaspberryPi-CM,RaspberryPi-CM3。但是如果你做了SRC_URI_rpi += " \,它會影響所有的rpi機器。如何在yocto中對設備名稱進行分組

我們該如何做到這一點?謝謝。

回答

1

我想你可以使用 - 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」'。他們之間有什麼不同?哪一個最適合我? –

0

還有另一種解決方案是SOC_FAMILY = common-name:。此解決方案需要將include conf/machine/include/soc-family.inc放入會議或inc文件中。

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

相關問題