有没有办法在Buildroot中自动检测所需的最小BR2_TARGET_ROOTFS_EXT2_SIZE?

时间:2018-03-10 16:12:16

标签: buildroot

我正在制作一个“大”非嵌入式图像,用于模拟而不是真实设备,我一直在遇到错误:

*** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)                         

然后我必须在du上执行output/target以了解我需要做多大BR2_TARGET_ROOTFS_EXT2_SIZE

有没有办法实现自动化,或者是一个不错的解决方法?

我正在考虑的一些解决方法:

http://lists.busybox.net/pipermail/buildroot/2018-March/215622.html

1 个答案:

答案 0 :(得分:1)

http://lists.busybox.net/pipermail/buildroot/2018-March/215636.html说:

  

不,因为它不可靠,请参阅commit:

c6bca8cef fs/ext2: Remove support for auto-calculation of rootfs size
     

最后,进行自动计算是没有意义的,因为在   嵌入式设备,您现在必须具有存储的布局和大小。   所以,你知道你想要你的ext文件系统的大小。

因此,Buildroot从根本上不可能/不值得这样做。

https://github.com/buildroot/buildroot/commit/c6bca8cef0310bc649240b451989457ce94a8358

然后我进一步搜索了一下,并且遇到了https://unix.stackexchange.com/questions/353156/how-to-calculate-the-correct-size-of-a-loopback-device-filesystem-image-for-debo,这表明可能有resize2fs -M +稀疏文件。

libguestfs还可以自动最小化图像大小,如https://serverfault.com/questions/246835/convert-directory-to-qemu-kvm-virtual-disk-image/916697#916697所示,并显示vfs-minimum-size函数:http://libguestfs.org/guestfish.1.html#vfs-minimum-size