我使用 Yocto 构建了一个文件系统,使用了 core-image-minimal 的 .bbappend。两个问题:
我如何确定哪个包在 rootfs 上占用了巨大的存储空间?
除了查看每个包的 ${D} 并查看其组件有多大之外,我想不出其他方法。必须有一种更系统、更智能的方法来做到这一点。
从我可以从清单中破译的情况来看,与所包含的包的大小无关。
此外,删除我使用 IMAGE_INSTALL 对象添加的一些包,似乎删除了包,但构建图像的最终结果并未显示其大小的变化!!
谢谢!
1) 一种方法是启用 buildhistory,将以下内容添加到 local.con
INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"
Run Code Online (Sandbox Code Playgroud)
这将在您的 $BUILDDIR 中创建一个目录 (git repo) buildhistory。在那里你可以找到例如
images/$MACHINE/eglibc/$IMAGE/installed-package-sizes.txt
Run Code Online (Sandbox Code Playgroud)
该文件将为您提供所有已安装软件包的大小。
您可以从 buildhistory 中学到更多东西,请参阅buildhistory 介绍
2)你在哪里比较特定的 .so 文件?如果它来自包的 ${B}(即构建库的地方),这并不奇怪,因为安装的 .so 文件将被剥离。调试信息安装在 -deb.rpm 中(因为调试信息在目标上通常是无用的,并且较小的尺寸具有更高的重要性)。
| 归档时间: |
|
| 查看次数: |
1280 次 |
| 最近记录: |