有没有办法检查将安装在 Yocto 图像中的包的确切列表?

Is there a way to check the exact list of packages that will be installed in the image in Yocto?

在基于 Yocto 的嵌入式 Linux 发行版中,我真的很想从每个依赖层中找到 packages/recipes/kernel 模块的完整列表,这些模块将在执行之前构建并安装到图像文件中图像构建秘诀如:

bitbake my-image-minimal

有办法实现吗?在这方面的任何指导表示赞赏。

提前致谢。

是的,像这样 在旧的 Bitbake 版本上:

bitbake -g <image> && cat pn-depends.dot | grep -v -e '-native' \
    | grep -v digraph | grep -v -e '-image' | awk '{print }' | sort | uniq

取自NXP Community website

更新版本:

bitbake -g <image> && cat pn-buildlist | grep -ve "native" | sort | uniq

是的,

Yocto 以位于 /tmp/deploy/images/<"machine_image">/<"image_name">.manifest.

中的清单文件形式维护包信息

您可以在生成的 .manifest 文件中找到该列表。 参见 IMAGE_MANIFEST

我们过去曾讨论过这个问题,由于各种原因,如果不经过完整的构建过程,很难知道图像中最终会包含哪些包。

查看什么是映像的最佳工具之一是构建历史 class。将其添加到 local.conf 中的用户 classes。输出最终位于 buildhistory 目录中的 build 目录中。

在你的 conf/local.conf 中添加 INHERIT += "buildhistory" 并重建