使用 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/