上一篇讲到了如何为新的sd卡添加UMS的接口,这个接口是使用大容量存储的前提.也就是把我们的EMMC划一个分区当做SD卡的前提.
这篇主要是在EMMC里做一个分区.
先看看android里的分区表文件吧.(这个文件属于emmc驱动,源码里没有,不同厂商实现也可能不一样.凑合看吧)
#include <emmc.h> struct partition partitions[] = { { "-", 1024 }, /* 0~1 M */ { "loader", 3*1024 }, /* 1~4 M: xloader & uboot */ { "-", 28*1024}, /* 4~32M */ { "recovery", 16*1024 }, /* 32~48M */ { "boot", 16*1024 }, /* 48~64M */ { "system", 320*1024 }, { "cache", 64*1024 }, { "userdata", 1*1024*1024 }, { "sdcard", 2*1024*1024 }, { "misc", 16*1024 }, { 0, 0 }, };
一个比较好用的是mkfs.vfat.
在安装脚本里添上一句格式化EMMC SDcard的语句(红色部分).
#!/bin/sh
# include the installation functions
. /sbin/install_funcs.sh
show_progress 0
# install kernel zImage
if [ $UPDATE_BOOT -eq 1 ]; then
emmc_update_img "boot.img"
fi
show_progress 10
if [ $UPDATE_RECOVERY -eq 1 ]; then
emmc_update_img "recovery.img"
fi
show_progress 20
# install cpio pkgs
if [ $UPDATE_SYS -eq 1 ]; then
emmc_update_img "system.img"
show_progress 60
touch /etc/mtab
......
mkfs.ext4 /dev/block/platform/sdhc.2/by-name/userdata $k_num
mkfs.vfat /dev/block/platform/sdhc.2/by-name/sdcard
show_progress 80
......
#install_product_conf
show_progress 100
fi
# install config
install_config ext4
# installation done
install_done $1