android usb mass storage EMMC转化为SD卡(二)

上一篇讲到了如何为新的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 },
};


sdcard部分是新增的,划出2G空间作为内置SD卡,空间划分出来了.现在需要格式化一下.SD卡一般是FAT格式的.所以需要一个FAT的工具格式化一下.

一个比较好用的是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

其实挺简单的,就是把EMMC的储存空间拿一部分来当做SD卡,只需要注意一下这个分区的格式为FAT就OK了.


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值