#MTD分区 用 rk29xxnand 做标识
CMDLINE: mtdparts=rk29xxnand:0x00001000@0x00002000(uboot),0x00001000@0x00003000(trust),0x00000800@0x00004000(misc),0x00004000@0x00004800(boot),0x00007000@0x00008800(recovery),0x0000A000@0x0000F800(oem),0x00708000@0x00019800(rootfs),-@0x00721800(userdata:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
# partition size default
# 2MB(uboot),2MB(trust),1MB(misc),8MB(boot),14MB(recovery),20MB(oem),3600MB(rootfs),-(userdata)
@符号前是分区的大小
@符号后是分区的起始地址
括号中是分区的名字
单位都是 sector(512Bytes)
比如 uboot 起始地址为 0x2000 sectors (4MB)的位置,大小为 0x1000 sectors(2M)
error: rootfs image size exceed parameter!
即parameter.txt文件对rootfs分区的规划小于rootfs文件实际大小,所以我们要修改parameter.txt的分区参数,使其大于rootfs文件实际大小。
首先,我们可以来到我们编译rootfs的路径下,用 ls -lh 命令获取文件大小。
例如我的rootfs是4GB,而规划中只有3600MB,不足。
需要将rootfs开到4096MB,通过计算,即把空间大小改为0x00800000,后面地址改为0x00819800。
示例:parameter.txt文件改为以下参数,然后保存后,接着打包就可以啦。
#MTD分区 用 rk29xxnand 做标识
CMDLINE: mtdparts=rk29xxnand:0x00001000@0x00002000(uboot),0x00001000@0x00003000(trust),0x00000800@0x00004000(misc),0x00004000@0x00004800(boot),0x00007000@0x00008800(recovery),0x0000A000@0x0000F800(oem),0x00800000@0x00019800(rootfs),-@0x00819800(userdata:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
# partition size default
# 2MB(uboot),2MB(trust),1MB(misc),8MB(boot),14MB(recovery),20MB(oem),3600MB(rootfs),-(userdata)