bitbake如何区分多个机器的单个包

时间:2013-04-16 11:09:47

标签: bitbake

我正在使用yocto project的1.1.1版本。 Bitbake:BitBake构建工具核心版本1.13.3,bitbake版本1.13.3。

我有自己的图层:meta-mine。我在meta-mine / conf / machine中定义了三台机器/我们称之为ab.conf和cd.conf以及ef.conf

一切都很好,但我想创建一个对我的bitbake知识有点过于复杂的配方。

我为ab end cd machine创建了不同的initscripts,我也需要它们两个用于ef。不幸的是我不知道如何做到这一点。

创意1
我在想什么:



    PACKAGES =“$ {PN} $ {PN} -ab $ {PN} -cd”
    COMPATIBLE_MACHINE _ $ {PN} -ab =“ab ef”
    COMPATIBLE_MACHINE _ $ {PN} -karo =“cd ef”
    FILES _ $ {PN} -ab =“$ {sysconfdir} /init.d/absript”
    文件_ $ {PN} -cd =“$ {sysconfdir} /init.d/cdsript”

inherit update-rc.d

INITSCRIPT_PACKAGES = "${PN} ${PN}-ab ${PN}-cd"

INITSCRIPT_NAME_${PN}-ab = "abscript"
INITSCRIPT_PARAMS_${PN}-ab = "start 93 S ."

INITSCRIPT_NAME_${PN}-cd = "cdscript"
INITSCRIPT_PARAMS_${PN}-cd = "start 11 S ."

我没试过,但即使它有效..我想完全服务,所以当我将mycomplicatepackage添加到我的IMAGE_EXTRA_INSTALL时,我希望它为当前机器安装正确的initscripts。 (在build / conf / local.conf中)

对不起我的英语不好,我希望我能解释一下我希望得到什么。

创意2:
我见过这个地方:

TARGET_ab = "xy"
TARGET_cd = "yz"  
.  
.  
INITSCRIPT_NAME_xy = "abscript"
INITSCRIPT_PARAMS_xy = "S 93 ."

INITSCRIPT_NAME_yz = "cdscipt"
INITSCRIPT_PARAMS_yz = "start 11 S ."

我不知道TARGET变量是如何工作的,我找不到任何相关的文档。 (也许我没有努力尝试......)但是它没有说明如何为ef机器安装这两个脚本。

我真的很喜欢任何建议或解决方案。问我是否需要更多细节来找出我想要的东西:)

0 个答案:

没有答案