使用OpenEmbeded构建项目的yocto项目。我有一个包含一些动态库的食谱。当do_rootfs进程时,它会将库复制到rootfs目录并将其打包为tar.bz2球。但生成的tarball中的动态库文件与配方输入不同。我使用bitbake -v core-image-minimal
来查看复制文件的详细信息。但它只是给出了一个简单的提示:libEGL.so->libEGL.so
,它只是告诉我文件名,我想知道源文件目录路径。那么源文件目录路径在哪里?
提前谢谢!
答案 0 :(得分:3)
请至少阅读quick start documentation以了解整个过程的全貌。从食谱构建的所有常规软件首先打包到ipk(或deb或rpm)包中,图像生成过程使用这些包进行操作,因此不能从某个地方直接复制。
包存储在位于build/tmp/deploy/ipk
(或deb或rpm)文件夹中的Feed中。你可以使用标准工具检查它们(比如用于ipk和deb的ar和tar,或者用于rpm的rpm2cpio)。
包内容来自包工作目录的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