Yocto';s ROOTFS\u后处理\u命令不工作?
我正试图使用此变量,以便在生成根FS后删除一些不需要的init文件,如下所示: 我已经将完全相同的代码片段添加到我的配方(.bb)文件中,没有任何运气。。。怎么了?这是我放在.bb文件中的代码:Yocto';s ROOTFS\u后处理\u命令不工作?,yocto,Yocto,我正试图使用此变量,以便在生成根FS后删除一些不需要的init文件,如下所示: 我已经将完全相同的代码片段添加到我的配方(.bb)文件中,没有任何运气。。。怎么了?这是我放在.bb文件中的代码: my_postprocess_function() { echo "hello" > ${IMAGE_ROOTFS}/hello.txt } ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; " 日志没有显示任何类型的错误或警
my_postprocess_function() {
echo "hello" > ${IMAGE_ROOTFS}/hello.txt
}
ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; "
日志没有显示任何类型的错误或警告,只是我的后处理功能没有执行。这对我有效:
my_postprocess_function() {
echo "hello" > ${IMAGE_ROOTFS}/hello.txt
}
ROOTFS_POSTPROCESS_COMMAND_append = " \
my_postprocess_function; \
"
我相信有一个bug是基于你把结束的花括号放在哪个列而显现出来的。起初,我不相信这是一种行为,但经过测试和确认后,我的结果如下:
$ bitbake --version
BitBake Build Tool Core version 1.28.0
我正在修改核心图像minimal.bb如下:
失败案例
上述操作将以静默方式失败,并且不会生成hello.txt
注意}是如何缩进一个空格的(缩进一次空格以外的任何数量也将失败)
但是,如果按以下方式修改它:
后案
然后,生成hello.txt
我发现此错误的方法是将“继承核心映像”行移动到文件末尾,如下所示:
诊断
在这种情况下,我得到了错误:
ERROR: ParseError at ......./recipes-core/images/core-image-minimal.bb:13: Shell function my_postprocess_function is never closed
我提到了最后一部分,以防其他人有奇怪的行为,而您已经用尽了所有调试可能性。cyberguijarro只说他的代码存在于.bb配方中,但没有说该配方是否为图像配方。
由于他没有接受任何给定的答案,我建议他的问题是他的代码不在图像配方中。你能给我们看看你的配方和失败日志吗?我在
ROOTFS\u POSTPROCESS\u命令中使用了许多函数,没有任何问题。当然,只是编辑了问题文本。提前谢谢。
SUMMARY = "G5 - A small image just capable of allowing a device to boot."
IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
IMAGE_ROOTFS_SIZE ?= "8192"
IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "" ,d)}"
inherit core-image
my_postprocess_function() {
echo "hello" > ${IMAGE_ROOTFS}/hello.txt
}
ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; "
SUMMARY = "G5 - A small image just capable of allowing a device to boot."
IMAGE_INSTALL = "packagegroup-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${CORE_IMAGE_EXTRA_INSTALL}"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
IMAGE_ROOTFS_SIZE ?= "8192"
IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "" ,d)}"
my_postprocess_function() {
echo "hello" > ${IMAGE_ROOTFS}/hello.txt
}
ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; "
inherit core-image
ERROR: ParseError at ......./recipes-core/images/core-image-minimal.bb:13: Shell function my_postprocess_function is never closed