君正JZ4770 bootloader中对nand 进行分区

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之后,分区表就已经建立好。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fdd915c43a377d74547ac8a0bcb1332c.html