我正在使用 yocto 项目的 1.1.1 版本。Bitbake:BitBake Build Tool Core 版本 1.13.3,bitbake 版本 1.13.3。
我有我自己的层:meta-mine。我在 meta-mine/conf/machine/ 中定义了三台机器让我们称它们为 ab.conf 和 cd.conf 和 ef.conf
一切正常,但我想创建一个对于我对 bitbake 了解不多的食谱来说有点太复杂的食谱。
我为 ab end cd 机器创建了不同的 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"
FILES_${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 机器安装两个脚本。
我真的很感激任何建议或解决方案。询问我是否需要更多详细信息以了解我想要什么:)