Yocto的bitbake配方,用于复制文件夹和子文件夹。

3

我希望在镜像构建过程中将文件夹及其内容复制到Yocto。为此,我使用以下配方:

SUMMARY = "Installation Recipe"
DESCRIPTION = "It installs folder"
HOMEPAGE = ""
LICENSE = "CLOSED"

MY_FILES1 = "/home/jane/d1fold"
MY_FILES2 = "/home/jane/d2fold"

inherit allarch

do_install() {
    install -d ${D}/home/root
    cp -R ${MY_FILES1}/* ${D}/home/root
    cp -R ${MY_FILES2} ${D}/home/root
}
FILES_${PN} += " /home/root"

但是我收到了以下错误 ERROR: QA问题:weaved:配方继承了allarch类,但打包了特定于架构的二进制文件[arch]。我该如何解决这个错误?


你不想安装绝对路径 (/home/jane/d1fold) 上的东西。你应该提供 d1fold/d2fold 的归档文件,或使用 https://patchwork.openembedded.org/patch/138100/ 类。然后你需要从 ${WORKDIR} 复制到 ${D}。 - Nayfe
2个回答

3
这个错误意味着你正在尝试安装特定于体系结构的二进制文件(编译为x86、arm64等),同时继承了allarch类。从yocto参考手册中可以看到:

allarch类是由不生成特定于体系结构输出的配方继承的。

这是一个明显的矛盾。

你在尝试做什么?创建只安装某些文件的配方似乎是错误的架构决策。而且为什么要继承allarch?


0

你只是在将文件复制到 rootfs 中。所以你不需要使用 inherit allarch。移除它并编译即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接