misc /dev/block/mtdblock0 4194304 kernel /dev/block/mtdblock1 8388608 boot /dev/block/mtdblock2 16777216 recovery /dev/block/mtdblock3 16777216 backup /dev/block/mtdblock4 402653184 cache /dev/block/mtdblock5 134217728 - /cache 126M ext4 userdata /dev/block/mtdblock6 4294967296 - /data 3.9G ext4 kpanic /dev/block/mtdblock7 4194304 system /dev/block/mtdblock8 536870912 - /system 511M ext4 user /dev/block/mtdblock9 11010048000- /mnt/sdcard 10.2G
I can see that the 'system', 'cache', 'userdata' and 'user' are normal linux filesystems that can been seen by mounting them. I assume 'boot' is some compressed bootloader code -- perhaps not the usual Android bootloader. 'kernel' is the, perhaps compressed, binary executable for the kernel that must be loaded and executed? 'recovery' seems to be uncompressed (ie you can see meaningful strings in it) -- I thought it might be a duplicate (backup) of 'boot', but its not. 'backup' seems to be uncompressed as well. No clue what 'misc' has.
I see from the RK3066 Tech Ref Manual that the chip has a boot ROM and some default operations to look for 'suitable' boot partitions on NAND and SDcard devices on power up. That code must load the kernel and some root filesystem and starts things up. I know what the /init program in Android does (reading the /init.rc and other files) and mounting other file systems etc. Another thing I'd like to know is where contents of the /sbin directory on the root file system come from.
Can anyone share a link to the source code, or a replacement build for the NAND partition images (ie ROM .img) so I can see what it does?
Comment