Rock/partitions
This page describe the partition layout of nand flash on radxa rock.
The partition is decided by the mtd parts in cmd line bootloader passed to the kernel, which is like this:
CMDLINE:console=ttyFIQ0 androidboot.console=ttyFIQ0 root=LABEL=linuxroot rw rootfstype=ext4 init=/sbin/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),0x00008000@0x00004000(kernel),0x00008000@0x00008000(boot),0x00010000@0x00010000(recovery),0x00020000@0x00020000(backup),0x00040000@0x00040000(cache),0x00200000@0x00080000(userdata),0x00002000@0x00280000(kpanic),0x00100000@0x00282000(system),0x00300000@0x00382000(linuxroot),-@0x00682000(user)
The partition must be 4M aligned due to the page size of rock/nand flash.
The layout of the dual boot image is as below:
Address | Size | Name | Description |
---|---|---|---|
0x000000400000-0x000000800000 | 4M | misc | Android misc partition |
0x000000800000-0x000001800000 | 16M | kernel | Obsolete Linux kernel partition, not used, keep it for compatibility* |
0x000001000000-0x000002000000 | 16M | boot | Android boot.img(kernel+ramdisk) |
0x000002000000-0x000004000000 | 32M | recovery | Android recovery/ Linux kernel + ramdisk |
0x000004000000-0x000008000000 | 64M | backup | Backup partition, not used on radxa rock, keep it for compatibility |
0x000008000000-0x000010000000 | 128M | cache | Android /cache partition |
0x000010000000-0x000050000000 | 1024M | userdata | Android /data partition |
0x000050000000-0x000050400000 | 4M | kpanic | For kernel panic dump |
0x000050400000-0x000070400000 | 512M | system | Android /system partition |
0x000070400000-0x0000d0400000 | 1536M | linuxroot | For the Linux rootfs |
0x0000d0400000- | - | user | Android internal flash as sdcard for storage |
- In previous android, the ramdisk(mounted as /) is in a separate partition, so we need two partitions, one for the kernel and the other for ramdisk, but the newer android pack together the kernel and the ramdisk into one single boot.img, so only one partition is needed