抱歉,我对 yocto 的语法有点陌生,这就是我修改食谱的方式:
LICENSE = "LGPLv2.1"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI = "file://myscript.sh"
FILES_${PN} += "${sysconfdir}/init.d/myscript.sh"
do_install() {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/myscript.sh ${D}${sysconfdir}/init.d/
}
配方被添加到构建中,因为如果我删除 LICENSE 行,yocto 图像将不会被烘焙。保存配方的文件夹名为“customssh”,在此文件夹中,我有一个名为 customsh_0.1.bb 的配方和一个名为“files”的子文件夹,其中保存了 myscript.sh。烘焙完映像后,我运行此命令以查看 myscript.sh 是否已放置在 rootfs 中: find 。-name 'myscript*' 将返回文件所在的位置:
./meta-swi/common/recipes-core/customssh/files/myscript.sh
在食谱中,这条线正确吗?
install -m 0755 ${WORKDIR}/myscript.sh ${D}${sysconfdir}/init.d/