系统分区调整记录
Platform: RK3368
OS: Android 9.0
Kernel: 4.4.194
1. 升级固件后开机进recovery出错
ensure_path_unmounted path is /data
Volume is already unmounted
ensure_path_unmounted path is /data
Volume is already unmounted
F2FS-tools: mkfs.f2fs Ver: 1.10.0 (2018-01-30)
Info: Disable heap-based policy
Info: Debug level = 1
Info: Label =
Info: Trim is enabled
Error: Failed to open the device!
E:/sbin/mkfs.f2fs failed with status 255
E:format_volume: Failed /sbin/mkfs.f2fs on /dev/block/by-name/userdata: File exists
t /cache: Invalid argumentnand0p13): VFS: Can't find ext4 filesystemE:Failed to moun
由于调试设备用的是4GB的NandFlash,而Android9.0 SDK默认系统分区大小超过了4GB,所以需要将系统分区调整一下;不然会出现开机进recovery格式化data失败(recovery界面会出现一个Android机器人躺着,加个感叹号!!!)

1.1. 调整分区表
修改device/rockchip/rk3368/parameter.txt
-mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00008000@0x0000a000(resource),0x00010000@0x00012000(kernel),0x00002000@0x00022000(dtb),0x00002000@0x00024000(dtbo),0x00000800@0x00026000(vbmeta),0x00010000@0x00026800(boot),0x00020000@0x00036800(recovery),0x00038000@0x00056800(backup),0x00002000@0x0008e800(security),0x00100000@0x00090800(cache),0x00500000@0x00190800(system),0x00008000@0x00690800(metadata),0x00100000@0x00698800(vendor),0x00100000@0x00798800(oem),0x00000400@0x00898800(frp),-@0x00898c00(userdata:grow)
+mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00008000@0x0000a000(resource),0x00010000@0x00012000(kernel),0x00002000@0x00022000(dtb),0x00002000@0x00024000(dtbo),0x00000800@0x00026000(vbmeta),0x00010000@0x00026800(boot),0x00020000@0x00036800(recovery),0x00020000@0x00056800(backup),0x00002000@0x00076800(security),0x00020000@0x00078800(cache),0x00300000@0x00098800(system),0x00008000@0x00398800(metadata),0x00100000@0x003a0800(vendor),0x00080000@0x004a0800(oem),0x00000400@0x00520800(frp),-@0x00520c00(userdata:grow)
修改后各个分区大小如下:
| 分区 | 大小 | 扇区数 | 起始地址 |
|---|---|---|---|
| uboot | 4MB | 0x00002000 | 0x00004000 |
| trust | 4MB | 0x00002000 | 0x00006000 |
| misc | 4MB | 0x00002000 | 0x00008000 |
| resource | 16MB | 0x00008000 | 0x0000a000 |
| kernel | 32MB | 0x00010000 | 0x00012000 |
| dtb | 4MB | 0x00002000 | 0x00022000 |
| dtbo | 4MB | 0x00002000 | 0x00024000 |
| vbmeta | 1MB | 0x00000800 | 0x00026000 |
| boot | 32MB | 0x00010000 | 0x00026800 |
| recovery | 64MB | 0x00020000 | 0x00036800 |
| backup | 64MB | 0x00020000 | 0x00056800 |
| security | 4MB | 0x00002000 | 0x00076800 |
| cache | 64MB | 0x00020000 | 0x00078800 |
| system | 1536MB | 0x00300000 | 0x00098800 |
| metadata | 16MB | 0x00008000 | 0x00398800 |
| vendor | 512MB | 0x00100000 | 0x003a0800 |
| oem | 256MB | 0x00080000 | 0x004a0800 |
| frp | 512KB | 0x00000400 | 0x00520800 |
| userdata | 剩余空间 | - | 0x00520c00 |

针对rk3368设备升级Android9.0后开机进recovery出现错误的问题,需要调整分区表。在调整了device/rockchip/rk3368/parameter.txt文件后,各分区大小得到适配,解决了开机进recovery格式化data失败的故障。
2789

被折叠的 条评论
为什么被折叠?



