【轉】Android Donut 系統燒寫到開發板,脫離NFS啓動

http://blog.csdn.net/stevenliyong/archive/2009/07/14/4346591.aspx

 

Android Donut 系統燒寫到開發板,脫離NFS啓動

 

1. Android 系統分區結構

     partition |   size   |   fs   |
    -----------+----------+--------+---------------------------------
    mtdblk0p1  |    8MiB  |  none  | bootloader
    mtdcblk0p2  |   16MiB  |  vfat  | recovery system (kernel/initrd)
    mtdblk0p3  | 1024MiB   |   << extended >>
     mtdblk0p5 |   8MiB  |  vfat  | normal kernel, splash, sound
     mtdblk0p6 |   64MiB  |squashfs| rootfs
     mtdblk0p7 |   256MiB  | ext3   | android cache
     mtdblk0p8 |   256MiB  |  ext3  | android data
    -----------+----------+--------+---------------------------------

  zImage    Kernel  /dev/mtdblk0p2 (FAT); recovery kernel
                            /dev/mtdblk0p5 (FAT); android kernel
  rootfs.sqfs       rootfs  /dev/mtdblk0p2 (FAT, initrd.img); recovery
                            /dev/mtdblk0p6 (SquashFS); android rootfs
                 data    /dev/mtdblk0p8 (ext3) android data


2. 燒寫 recovery kernel/rootfs
bootload啓動後先燒寫bootload 和 recovery system(kernel/rootfs) 到mtdblk0p1  ~ mtdblk0p2 分區

3. 進入recovery linux 系統,燒寫 andorid 系統

3.1 添加擴展分區mtdblk0p3 和邏輯分區mtdblk0p5 ~ mtdblk0p8
# fdisk /dev/mtdblk0
<這裏添加android分區>
 mtdblk0p3  | 1024MiB   |   << extended >>
     mtdblk0p5 |   8MiB  |  vfat  | normal kernel, splash, sound
     mtdblk0p6 |   64MiB  |squashfs| rootfs
     mtdblk0p7 |   256MiB  |  ext3  | application cache
     mtdblk0p8 |   256MiB  |  ext3  | application data

3.2 格式化android data / cache 分區
# mkfs.ext3 /dev/mtdblk0p7
# tune2fs -i0 -c0 /dev/mtdblk0p7

# mkfs.ext3 /dev/mtdblk0p8
# tune2fs -i0 -c0 /dev/mtdblk0p8

3.3 燒寫 android kernel 和 rootfs
bootload啓動後,燒寫android system(kernel/rootfs) 到mtdblk0p5 ~ mtdblk0p6 分區


4.最後設置bootload 從normal模式啓動andorid
Android donut  成功不依賴於NFS啓動啦!        


PS:
製作android rootfs的時候,需要在

先手動mkdir cache 和 data

rootfs/init.rc中需在
# mount mtd partitions 下方添加將ext3 分區掛在到 /cache 和 /data目錄
mount ext3 /dev/block/mtdblk0p7 /cache
mount ext3 /dev/block/mtdblk0p8 /data

另外當前我的做法是 直接將android donut 下編譯出來的system 目錄直接拷貝到rootfs,一併壓縮成sqfs 格式。將system單獨做成一個分區,然後啓動的時候mount 可能是更好的選擇.

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/stevenliyong/archive/2009/07/14/4346591.aspx

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章