首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Yocto修改rootfs配置文件?

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

Stack Overflow用户
提问于 2019-06-22 11:23:27
回答 1查看 1.9K关注 0票数 1

我正在使用Thud (2.6),我想要清除/etc/default/dropbear的内容。ROOTFS_POSTPROCESS_COMMAND看起来很有希望,但是下面的代码无法创建空文件。没有错误。

食谱完成的其他工作也成功了。

代码语言:javascript
复制
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"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-23 09:51:11

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

image-base.inc

代码语言:javascript
复制
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

代码语言:javascript
复制
require image-base.inc

你也可以直接把它添加到.bb中,如果你想的话。不过,我喜欢.inc文件,因为它们使相似条目之间的共享变得更容易。注此示例忽略了其他内容,但您可以在它所属的位置自由格式化。

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56712338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档