openembedded - 在 OpenEmbeded/yocto 中哪里可以看到 do_rootfs 程序 [复制的文件路径] 的详细信息?

标签 openembedded bitbake

使用 OpenEmbeded 构建项目的 yocto 项目。我有一个包含一些动态库的食谱。 do_rootfs 处理时,会把库复制到rootfs 目录下,打包成一个tar.bz2 包。但是生成的 tarball 中的动态库文件与输入的食谱不同。我使用 bitbake -v core-image-minimal 查看它如何复制文件的详细信息。但它只是给出了一个简单的提示:libEGL.so->libEGL.so,它只是告诉我文件名,我想知道源文件目录路径。那么源文件目录路径在哪里呢? 提前致谢!

最佳答案

请至少阅读 quick start documentation 以查看整个过程的大图。所有根据配方构建的常规软件首先被打包到 ipk(或 deb 或 rpm)包中,图像生成过程使用这些包进行操作,因此它不是直接从某个地方复制。

包存储在位于 build/tmp/deploy/ipk(或 deb 或 rpm)文件夹中的提要中。您可以使用标准工具检查它们(例如 ar 和 tar 用于 ipk 和 deb,或者与 friend 一起使用 rpm2cpio 用于 rpm)。

包内容来自包工作目录的packages-split目录,如build/tmp/work description中所述。反过来,它来自同一工作目录的 packages 目录。反过来,它来自 image 目录(这是 D variable 的默认目录),而 image 目录包含安装的所有文件(如 do_install )食谱。当然,所有这些目录都是出于不同的目的而创建的,因此它不仅仅是从一个地方复制到另一个地方,中间完成的事情在 nice comment in the package.bbclass 文件中进行了描述。

在这种情况下,do_rootfs 任务日志也很有趣,它 as usually 存储在 ${WORKDIR}/temp/log.do_rootfs

关于openembedded - 在 OpenEmbeded/yocto 中哪里可以看到 do_rootfs 程序 [复制的文件路径] 的详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17648449/

相关文章:

python - 无法在 Ubuntu 18.04.1 LTS 中从 OpenPLI 存储库创建镜像

linux - 将 flask ASK 移植到裸机 Linux

linux - yocto/bitbake 构建尝试将文件更改为 root 并失败

openssl - 如何替换 Yocto 中的 OpenSSL 软件包?

yocto - 没有通过 LDFLAGS? [ldflags]

yocto - 如何解决yocto中的ldflags错误

yocto - 在 BitBake 中使用条件语法(覆盖)

yocto - 比特烘焙: "The metadata is not deterministic and this needs to be fixed"

yocto - 用于复制文件夹的 bitbake 配方,yocto 的子文件夹

yocto - bitbake 没有找到更新的食谱