将buildroot生成的sd卡的.img烧录到一个32g的sd卡上,sd卡实际利用的空间只有几百M
我想问下怎么样才可以像树莓派那样,烧写到多大的sd卡上就会相应的利用上全部的空间
可以尝试在 buildroot_100ask_t113-pro/br2t113pro/board/100ask/t113-pro 目录下;
修改 genimage.cfg 文件,为你期望的大小;
例子
原先:
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
修改后:
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 32000M
}
谢谢回复。但是用这种方法产生的镜像非常的大,我不能接受。一个30多g的镜像,实际上的文件只有数百M,这个用着太不方便了
一开始我是想用fdisk来进行分区扩容的,但是后来发现genimage工具打包的镜像分区是hybrid混合分区,fdisk只支持mbr分区,不支持gpt分区,所以使用fdisk -l 命令查看的分区和cat /proc/partitions查看的设备不一致,使用fdisk分区也无效。所以后来在buildroot中添加了gdisk包(gpt fdisk)。使用gdisk扩展了分区,再将分区挂载,这样就能利用剩余容量了。其实可以写一个脚本,第一次启动的时候自动扩展分区,并格式化,挂载,并将其添加到buildroot中,这样每次构建新镜像,启动时就可以自动扩展分区了。
感谢回复,我试试
解决了,reboot之后运行 resize2fs /dev/mmcblk0p5 ,大小就修改成功了。但是我有了一个新的疑问。
这个是修改前的
这是修改之后的
因为我当时是新建了一个分区利用剩余空间,所以之前并没有遇到你的问题。如果是直接扩展rootfs的话,确实需要使用resize2fs来进行在线扩容。至于df那里为什么root那么大,我去尝试了一下并没有这么离谱,只是多了几m而已,你有没有尝试一下使用du命令做一下对比。
挺奇怪的,du出来的文件大小还是414M,等于没发生变化。但是df的使用却变成了2.2G。现在也不影响使用了,倒是可以先过去了 。感谢您的帮助,确实解决了我的大问题
什么都不做,直接保存一下,再打开试试。我的一开始直接显示可用为0。直接保存修改,再重新用gdisk打开就好了。