如何使用Yocto修改rootfs配置文件?

如何使用Yocto修改rootfs配置文件?,yocto,Yocto,我正在使用Thud(2.6),我想清除/etc/default/dropbear的内容ROOTFS\u POSTPROCESS\u命令似乎很有希望,但以下操作无法创建空文件。没有错误 该配方完成的其他工作成功 SRC_URI += "file://authorized_keys" SRC_URI += "file://dropbear_rsa_host_key" # Configuration file to be installed in /etc/default. # SRC_URI +=

我正在使用Thud(2.6),我想清除/etc/default/dropbear的内容
ROOTFS\u POSTPROCESS\u命令
似乎很有希望,但以下操作无法创建空文件。没有错误

该配方完成的其他工作成功

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\u POSTPROCESS\u命令是您想要的,但是您不能从这样的包配方中调用它。在我们的应用程序中,我们创建了一个新的.inc文件,其中包含一些与.bb图像创建方法相同的目录中的常用函数,并将其包含在构建目标图像的方法中。这就是我们放置这些指令和函数的地方(我有4个来创建符号链接和重置根密码)。挑战在于后处理无法再次调用您的配方,我不确定如何尝试将这样一个函数预先声明为以后调用。注意,从外观上看,语法完全正确,只是不在需要时运行的正确位置

图像基地公司

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
}
image-name.bb

require image-base.inc
你也可以直接把它添加到.bb中,如果你想的话,它就是你的bitbake。尽管如此,我还是喜欢.inc文件,因为它们更容易在类似条目之间共享。注意:此示例忽略其他内容,但您可以在其所属的位置自由设置格式


如果不想更改现有目标,可以创建自己的,然后在新的映像配方中需要image.bb。

我相信ROOTFS\u POSTPROCESS\u命令就是您想要的,但您不能从这样的包配方中调用它。在我们的应用程序中,我们创建了一个新的.inc文件,其中包含一些与.bb图像创建方法相同的目录中的常用函数,并将其包含在构建目标图像的方法中。这就是我们放置这些指令和函数的地方(我有4个来创建符号链接和重置根密码)。挑战在于后处理无法再次调用您的配方,我不确定如何尝试将这样一个函数预先声明为以后调用。注意,从外观上看,语法完全正确,只是不在需要时运行的正确位置

图像基地公司

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
}
image-name.bb

require image-base.inc
你也可以直接把它添加到.bb中,如果你想的话,它就是你的bitbake。尽管如此,我还是喜欢.inc文件,因为它们更容易在类似条目之间共享。注意:此示例忽略其他内容,但您可以在其所属的位置自由设置格式


如果您不想更改现有目标,您可以创建自己的,然后在新图像配方中要求使用image.bb。

谢谢。我喜欢你的成语。我还没有一个很好的Yocto的心智模型,但这应该应用到rootfs图像中这一事实有所帮助。我也不能使用
${D}
,但是使用
${IMAGE\u ROOTFS}
成功了。谢谢。我喜欢你的成语。我还没有一个很好的Yocto的心智模型,但这应该应用到rootfs图像中这一事实有所帮助。我也不能使用
${D}
,但使用
${IMAGE\u ROOTFS}
就成功了。