最近,做android从卡启动,做个总结:
1,用fdisk将卡分4个区,第一个分区1.5G(Fat32或vfat),我的是2G的卡。第二个分区200M(系统分区),第三个分区90M(swap),一定要小于90M。第四个分区160M(data),最好给内核和uboot的空间,不要分到第四个分区去了,这样可以避免删除data的时候,把内核和uboot给破坏了。
2.修改root文件系统下的init.rc
如下:
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount ext3 /dev/block/mmcblk0p2 /system
mount ext3 /dev/block/mmcblk0p2 /system nosuid nodev xattr,check=no
#mount mmcblk0p2 as /system
# mount yaffs2 mtd@system /system
# mount yaffs2 mtd@system /system nosuid nodev xattr,check=no
# We chown/chmod /data again so because mount is run as root + defaults
# mount mmc0p4 as userdata
# mount ext3 /dev/block/mmcblk0p4 /data nosuid nodev
#mount yaffs2 mtd@userdata /data nosuid nodev
chown system system /data
chmod 0771 /data
mount ext3 /dev/block/mmcblk0p3 /cache nosuid nodev
# mount yaffs2 mtd@cache /cache nosuid nodev
从新打包root,做成ramdisk,烧进卡中。
这样就能从卡启动android了。