?????? 调试过程中会经常把应用文件放到 build/rootfs/usr/bin 目录下,编译 rootfs 后烧写提示 rootfs分区太小。
???? 或者通过adb推送命令往板卡的usr/bin目录下端推送的文件过大,提示没有足够的空间。
???? 这个时候就需要调整rootfs的分区大小。
??? 下面图片的原始分区图片,分区文件为 nvr/rockdev/parameter.txt。
使用分区查看命令
fdisk -l
可以看到
?
Start (sector) End (sector) Size Name
1 0x4000 0x6000 4096K uboot
2 0x6000 0x16000 32M boot
3 0x16000 0x7a000 200M rootfs
4 0x7a000 - - userdata
?其中rootfs的分区为200M。
下面打算把rootfs的分区大小改为1000M,需要修改分区文件的相关部分,以下为修改后的parameter.txt文件。
FIRMWARE_VER: 1.0
MACHINE_MODEL: RK3588
MACHINE_ID: 007
MANUFACTURER: RK3588
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: 0xffffffff
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
CMDLINE: mtdparts=rk29xxnand:0x00000800@0x00002000(security),0x00002000@0x00004000(uboot),0x00010000@0x00006000(boot),0x001f4000@0x00016000(rootfs), -@0x0020a000(userdata:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
修改后使用全编译命令,从新生成update.img。
./build_emmc.sh
并从新烧写。
使用fdisk -l 命令查看。可以看到rootfs 已经改为1000M。
fdisk -l
? ??? 我们使用df -h命令,发现/dev/root分配的空间并没有变大,这是由于这个分配空间是系统编译的时候自动生成的,如何把这个空间调大呢?可以在编译的时候,可以用一个容量大一点的文件填充到roofs文件的usr/bin目录下,这样编译的时候自动分配的空间就会变大,烧录进板卡后再进入目录,删掉填充文件,就可以增大使用空间,算是使用上的一个小技巧。