Android系統有好幾個分區。system, data, flash等
以下是jz4770平台上某款設備的分區信息
/dev/block/mmcblk0p1 /system ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p2 /data ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,nodelalloc,data=ordered,noauto_da_alloc 0 0
/dev/block/mmcblk0p3 /cache ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/vold/179:4 /mnt/flash vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortn0
/dev/block/vold/179:4 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,0
tmpfs /mnt/flash/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
其中,/dev/block/mmcblk0代表的設備是板子上的Nand flash。當前系統的nand大小為4G. 上面安裝有bootloader, kernel, Android系統等
其中,bootloader, kernel是在Nand的開頭,並沒有進行分區,而是直接對mmcblk0進行裸寫。後面的mmcblk0p1 ~ mmcblk0p4是在mmcblk0上的4個分區,其中,
mmcblk0p1進行分區的時候,就跳過了開頭的bootloader,kernel數據區。
將該四個分區的分區信息做好之後,寫到一個mbr.bin的512個字節的文件中。這個代表主引導記錄,記錄磁盤/介質的分區信息。然後把這個512個字節放到bootloader的
開始之處。在bootloader被燒錄到nand之後,分區表就已經建立好。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11