Yocto';s ROOTFS\u后处理\u命令不工作?

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; " 日志没有显示任何类型的错误或警

我正试图使用此变量,以便在生成根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_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