您尚未登录。

楼主 # 2021-07-08 10:34:06

qianfan
会员
注册时间: 2019-11-29
已发帖子: 20
积分: 46.5

ext文件系统扩展: resize2fs

使用emmc做存储, 一般将rootfs单独划分一个分区, 将其他的数据区划定另一个分区.

使用buildroot制作根文件系统的时候, 设置BR2_TARGET_ROOTFS_EXT2_SIZE的大小将直接影响生成的sdcard.img的大小. 通常情况下, 可以将BR2_TARGET_ROOTFS_EXT2_SIZE设置成为一个比较小的值, 仅能够容纳buildroot生成的程序. 在分区表中划定一个大的分区, 之后在系统启动之后由程序进行自动调整.

例如:

将BR2_TARGET_ROOTFS_EXT2_SIZE设置成60M, 但是划定300M的分区.

image boot.vfat {
	vfat {
		files = {
			"kernel/kernel.bin",
			"kernel/kernel2.bin"
		}
	}
	size = 32M
}

image sdcard.img {
	hdimage {
	}

	partition u-boot {
		in-partition-table = "no"
		image = "u-boot/u-boot-with-ddr-emmc-header.bin"
		offset = 512 # u-boot with emmc header start at 512 and size is 512K
		size = 523776
	}

	partition kernel-factory {
		in-partition-table = "no"
		image = "kernel/kernel.bin"
		offset = 2M
		size = 14M
	}

	partition boot {
		partition-type = 0xC
		bootable = "true"
		image = "boot.vfat"
		offset = 16M
	}

	partition rootfs {
		partition-type = 0x83
		image = "buildroot/rootfs.ext2"
		size = 300M
	}

	partition data {
		partition-type = 0x83
		size = 3G
	}
}

开机之后使用resize2fs扩展大小:

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                58.1M     20.9M     34.2M  38% /
devtmpfs                 29.3M         0     29.3M   0% /dev
tmpfs                    29.4M         0     29.4M   0% /dev/shm
tmpfs                    29.4M     16.0K     29.4M   0% /tmp
tmpfs                    29.4M     20.0K     29.4M   0% /run
/dev/mmcblk0p3            3.0G     44.0K      2.8G   0% /data
# resize2fs /dev/root
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/root EXT4-fs (mmcblk0p2): resizing filesystem from 61440 to 307200 blocks
is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
EXT4-fs (mmcblk0p2): resized filesystem to 307200
The filesystem on /dev/root is now 307200 (1k) blocks long.

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               291.0M     21.6M    256.9M   8% /
devtmpfs                 29.3M         0     29.3M   0% /dev
tmpfs                    29.4M         0     29.4M   0% /dev/shm
tmpfs                    29.4M     16.0K     29.4M   0% /tmp
tmpfs                    29.4M     20.0K     29.4M   0% /run
/dev/mmcblk0p3            3.0G     44.0K      2.8G   0% /data

最近编辑记录 qianfan (2021-07-08 10:35:12)

离线

#1 2021-07-08 10:38:52

哇酷小二
管理员
注册时间: 2020-04-22
已发帖子: 2,452
积分: 1902

Re: ext文件系统扩展: resize2fs

嗯,学到了,第一次开机运行这个脚本就可以了。

在线

#2 2021-07-08 11:11:07

aozima
会员
所在地: 深圳
注册时间: 2019-05-25
已发帖子: 261
积分: 174.5
个人网站

Re: ext文件系统扩展: resize2fs

这个好,能缩小生成的镜像,减少烧录时间。

离线

楼主 #3 2021-07-08 11:25:24

qianfan
会员
注册时间: 2019-11-29
已发帖子: 20
积分: 46.5

Re: ext文件系统扩展: resize2fs

哇酷小二 说:

嗯,学到了,第一次开机运行这个脚本就可以了。

写个脚本做个判断, 开机运行下:

TryResizeRootfs () {
   local rootsize=$(df -m | grep '^/dev/root' | awk '{print $2}')
   if [ ${rootsize} -lt 200 ] ; then
      resize2fs /dev/root
      sync
   fi
}

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn