我正在使用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机器安装这两个脚本。
我真的很喜欢任何建议或解决方案。问我是否需要更多细节来找出我想要的东西:)