使用ROOTFS_POSTPROCESS_COMMAND添加复制文件的功能

Using ROOTFS_POSTPROCESS_COMMAND to add function that copies files

我以前做的是使用 ROOTFS_POSTPROCESS_COMMAND 变量添加我自己的 shell 脚本函数。 我需要在 meta-plnx-generated 中附加 petalinux-user-image,所以在我的 meta-user 层中,我创建了以下文件:petalinux-user-image.bbappend:

inherit core-image

ROOTFS_POSTPROCESS_COMMAND += "my_install_function; "


my_install_function(){
    echo "hello" > ${IMAGE_ROOTFS}/hello.txt
}

我遇到的麻烦是如何将文件添加到 ${IMAGE_ROOTFS}。我可以 remove/move files/create 文件,但似乎无法将文件从我的 meta-user 层复制到 ${IMAGE_ROOTFS},就像我可以安装文件的普通食谱一样。 ${WORKDIR} 指向 build 中的 rootfs 文件夹,而 ${THIS_DIR} 似乎指向 meta-plnx-generated 中的 petalinux-user-image。我给了 meta-user 层比 meta-plnx-generated 层更高的优先级,所以任务顺序是正确的。

不胜感激,谢谢。

一般的答案是你在倒退。此处的最佳做法是为映像中所需的其他文件编写配方,并将这些包包含在映像中。 ROOTFS_POSTPROCESS_COMMAND 挂钩用于较小的内容调整。