在對評估板進行開發(fā)驗證時,時常會遇到根目錄空間不足的情況,而在其他分區(qū)又有冗余空間,這時則需要對分區(qū)大小重新進行分配,合理化利用分區(qū)空間。 本文將基于HD-RK3568-IOT評估板主要講解如何修改eMMC分區(qū)大小。 1. 分區(qū)表介紹本文主要通過修改parameter.txt 分區(qū)表文件來實現(xiàn)修改分區(qū)大小,示例分區(qū)表內(nèi)容如下: FIRMWARE_VER:1.0 MACHINE_MODEL:RK3568 MACHINE_ID:007 MANUFACTURER:RK3568 MAGIC:0x5041524B ATAG:0x00200800 MACHINE:0xffffffff CHECK_MASK:0x80 PWR_HLD:0,0,A,0,1 TYPE:GPT CMDLINE:mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00010000@0x00008000(boot),0x00010000@0x00018000(recovery),0x00010000@0x00028000(backup),0x00c00000@0x00038000(rootfs),0x00040000@0x00c38000(oem),-@0x00c78000(userdata:grow) uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9 paramter.txt中的uboot,misc,boot,recovery,oem,rootfs分區(qū)應(yīng)該保留,重新分區(qū)時無需刪除。 分區(qū)參數(shù)的格式是size@offset(name),size 和 offset 的單位是塊,對 EMMC 就是”扇區(qū)”,扇區(qū)大小是 512byte。EMMC 最前面的 8MiB 空間是保留區(qū),分區(qū)時必須從8MiB之后的空間開始。比如第一個分區(qū)是 u-boot 分區(qū): 0x00002000@0x00004000(uboot)0x00002000@0x00004000(uboot) size=0x2000*0x200/0x100000=4MiB offset=0x4000*0x200/0x100000=8MiB 分區(qū)名"uboot" 2. 擴展rootfs分區(qū)大小到7GB 目前rootfs在分區(qū)表的大小如下所示: 0x00c00000@0x00038000(rootfs),0x00040000@0x00c38000(oem),-@0x00c78000(userdata:grow) 已知rootfs分區(qū)大小是0x00c00000(6GB,進制轉(zhuǎn)換*512Byte),可以考慮從userdata分區(qū)中回收0x200000(1GB),oem分區(qū)大小不動,那么修改后的分區(qū)配置是: 0x00e00000@0x00038000(rootfs),0x00040000@0x00e38000(oem),-@0x00e78000(userdata:grow) 修改完后保存,重新將parameter.txt文件導(dǎo)入到燒寫工具中,以及更新修改分區(qū)的固件進行燒寫,在此需要更新parameter.txt,rootfs,oem以及userdata。 燒寫成功后進入系統(tǒng)使用df-h 查看存儲空間,可以看到/dev/root分區(qū)已經(jīng)從6GB擴展到7GB了。 |