gpt4 book ai didi

yocto - 有没有办法在 yocto 生成的文件系统上运行存储统计信息?

转载 作者:行者123 更新时间:2023-12-01 12:37:39 29 4
gpt4 key购买 nike

我使用 Yocto 构建了一个文件系统,使用了 core-image-minimal 的 .bbappend。两个问题:

  1. 我如何找出哪个包占用了 rootfs 上的大量存储空间?

    除了查看每个包的 ${D} 并查看其组件有多大之外,我想不出其他方法。必须有一种更系统、更智能的方法来做到这一点。

从我可以从 list 中破译的内容来看,与所包含的包的大小无关。

此外,删除我使用 IMAGE_INSTALL 对象添加的一些包,似乎删除了包,但构建图像的最终结果并未显示其大小发生变化!!

  1. 我比较了构建机器和安装设备(虚拟机)上特定 .so 的大小,发现安装设备上的大小是构建机器上原始大小的 20-30%。有什么解释吗?

谢谢!

最佳答案

1) 一种方法是通过将以下内容添加到 local.con 来启用构建历史

INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"

这将在您的 $BUILDDIR 中创建一个目录(git repo)buildhistory。在那里你可以找到例如

images/$MACHINE/eglibc/$IMAGE/installed-package-sizes.txt

该文件将为您提供所有已安装软件包的大小。

您可以从构建历史中学到很多东西,请参阅 buildhistory introduction

2) 您在哪里比较特定的 .so 文件?如果它来自包的 ${B}(即构建库的位置),这并不奇怪,因为安装的 .so 文件将被删除。调试信息被安装到 -deb.rpm 中(因为调试信息通常对目标没有用,较小的尺寸更重要)。

关于yocto - 有没有办法在 yocto 生成的文件系统上运行存储统计信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28159266/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com