在开发验证评估板时,经常会遇到根目录空间不足,而其他分区有多余空间的情况。这种情况下,需要重新分配分区大小,以合理利用分区空间。
本文将主要讲解如何基于HD-RK3568-IOT评估板修改eMMC分区大小。
本文主要通过修改parameter.txt分区表文件来修改分区大小。示例分区表内容如下:
固件_VER:1.0
机器_型号:RK3568
MACHINE_ID:007
制造商:RK3568
MAGIC:0x5041524B
ATAG:0x00200800
机器:0xffffffff
CHECK_MASK:0x80
PWR_HLD:0,0,A,0,1
型号:GPT
CMDLINE:mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00010000@0x00008000(boot),0x00010000@0x00018 0 00(恢复),0x00010000@0x00028000(备份),0x00c00000@0x00038000(rootfs),0x00040000@0x00c38000(oem) ) ,-@0x00c78000(userdata:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
paramter.txt中的uboot、misc、boot、recovery、oem、rootfs分区应保留,重新分区时不需要删除。
分区参数的格式为size@offset(name)。大小和偏移量的单位是块。对于EMMC来说,就是“扇区”,扇区大小为512byte。 EMMC的前8MiB空间是保留区域,分区必须从8MiB之后的空间开始。例如第一个分区是u-boot分区:
0x00002000@0x00004000(uboot)0x00002000@0x00004000(uboot)
大小=0x2000*0x200/0x100000=4MiB
偏移量=0x4000*0x200/0x100000=8MiB
分区名称“uboot”
rootfs分区表当前大小如下:
0x00c00000@0x00038000(rootfs),0x00040000@0x00c38000(oem),-@0x00c78000(userdata:grow)
可知rootfs分区大小为0x00c00000(6GB,十六进制换算*512Byte)。您可以考虑从userdata 分区回收0x200000 (1GB)。 OEM分区大小保持不变,因此修改后的分区配置为:
0x00e00000@0x00038000(rootfs),0x00040000@0x00e38000(oem),-@0x00e78000(userdata:grow)
修改完成后保存,重新将parameter.txt文件导入到编程工具中,更新修改后的分区的固件进行编程。这里需要更新parameter.txt、rootfs、oem和userdata。
烧录成功后,进入系统,使用df-h查看存储空间。可以看到/dev/root分区已经从6GB扩大到7GB。