我正在使用 yocto Krogoth(2.1),这在我的 startup_1.0.bb 中不起作用:
INITSCRIPT_PARAMS = "start 98 S ."
在bitbake core-image-minimal之后, startup.sh被复制到/etc/init.d但未链接到/etc/rcS.d/S98startup.sh
我搜索了解决方案,甚至检查了一些在 poky/meta 中包含 INITSCRIPT_PARAMS 的 bb 文件,但没有找到有用的信息。
这是我的startup_1.0.bb
DESCRIPTION = "System startup scirpt"
SRC_URI = "file://startup.sh file://COPYING"
LICENSE = "MIT"
LIC_FILES_CHKSUM ="file://${WORKDIR}/COPYING;md5=6d2888401cbe657f56de1326f56e905c"
INITSCRIPT_NAME = "startup"
INITSCRIPT_PARAMS = "start 98 S ."
inherit update-rc.d
do_install() {
install -d ${D}${INIT_D_DIR}
install -m 0755 ${WORKDIR}/startup.sh ${D}${INIT_D_DIR}/startup.sh
# install -d ${D}/etc/rcS.d
# install -m 0755 ${WORKDIR}/startup.sh ${D}/etc/rcS.d/S98startup.sh
}
更新:
这是关于名称匹配和硬编码文件名。我已经按照 Fabian Knapp 的提示修复了它。
DESCRIPTION = "System startup scirpt"
LICENSE = "MIT"
LIC_FILES_CHKSUM ="file://${WORKDIR}/COPYING;md5=6d2888401cbe657f56de1326f56e905c"
INITSCRIPT_NAME = "startup.sh"
INITSCRIPT_PARAMS = "start 98 S ."
SRC_URI = "file://${INITSCRIPT_NAME} file://COPYING"
inherit update-rc.d
do_install() {
install -d ${D}/${INIT_D_DIR}
install -m 0755 ${WORKDIR}/${INITSCRIPT_NAME} ${D}/${INIT_D_DIR}/${INITSCRIPT_NAME}
}