我正在使用 Thud (2.6),我想清除 /etc/default/dropbear 的内容。ROOTFS_POSTPROCESS_COMMAND
看起来很有希望,但以下未能创建空文件。没有错误。
该配方完成的其他工作成功。
SRC_URI += "file://authorized_keys"
SRC_URI += "file://dropbear_rsa_host_key"
# Configuration file to be installed in /etc/default.
# SRC_URI += "file://dropbear"
S = "${WORKDIR}"
do_install() {
install -d ${D}/etc/dropbear
install -m 0600 ${S}/authorized_keys ${D}/etc/dropbear
install -m 0600 ${S}/dropbear_rsa_host_key ${D}/etc/dropbear
}
clear_dropbear_default_configuration() {
rm ${D}/etc/default/dropbear
touch ${D}/etc/default/dropbear
echo "Hello" > hello.txt
}
FILES_${PN} += "/etc/dropbear"
FILES_${PN} += "/etc/dropbear/authorized_keys"
FILES_${PN} += "/etc/dropbear/dropbear_rsa_host_key"
ROOTFS_POSTPROCESS_COMMAND += "clear_dropbear_default_configuration;"
# FILES_${PN} += "/etc/default/dropbear"
我相信 ROOTFS_POSTPROCESS_COMMAND 是您想要的,但您不能从这样的包配方中调用它。在我们的应用程序中,我们在与 .bb 图像创建配方相同的目录中创建了一个新的 .inc 文件,其中包含一些常用函数,并将其包含在构建目标图像的配方中。这是我们放置这些指令和函数的地方(我有 4 个指令和函数来创建符号链接并重置 root 密码)。挑战在于后处理无法再次调用您的配方,并且我不确定尝试预先声明这样的函数以便稍后调用会如何工作。请注意,从外观上看,语法完全正确,只是不在需要时运行的正确位置。
图像库
ROOTFS_POSTPROCESS_COMMAND += "clear_dropbear_default_configuration;"
clear_dropbear_default_configuration() {
rm ${D}/etc/default/dropbear
touch ${D}/etc/default/dropbear
echo "Hello" > hello.txt
}
图像名称.bb
require image-base.inc
如果您愿意,您也可以将其直接添加到 .bb 中,这是您的 bitbake。我喜欢 .inc 文件,因为它们可以更轻松地在相似条目之间共享。请注意,此示例忽略其他内容,但您可以在其所属的位置自由设置。
如果您不想更改现有目标,则可以创建自己的目标,然后在新图像配方中需要 image.bb。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)