Android FAT分区格式化

如果要在机器内部的EMMC上创建SDCARD分区,就需要把它格式化成FAT文件系统,否则开机后,会提示你的sdcard需要格式化。

我这里说一下怎么去用烧写image的方式去格式化sdcard分区。以下步骤都是在ubuntu系统上做的。

1.首先要知道自己的sdcard分区的大小。

这个一般要看你的partition怎么化分的,如果你要看一部手机的sdcard分区有多大,可以通过以下命令:

cat /proc/emmc       //这个命令可以让你获得FAT分区的partition id

cat /proc/partitions       //这个命令可以让你看到与prtition id相对应的blocks,一个blocks为1024byte

2.在PC机上创建fat格式的Image

mkfs.vfat -v -C fat.img [block-count]

这样fat.img就是一个FAT分区的镜像了,你还可以往里面放你需要内置的东西。

3.装入需要内置的文件

mkdir fat_disk

mount -o loop,iocharset=utf8 fat.img fat_disk/

fat.img 是你创建的FAT分区镜像

fat_disk是要挂载的文件夹

这时你用df命令,就可以看到/dev/loopx被mount到fat_disk,

这样把内置的文件放到fat_disk目录下,然后umount fat_disk,预置的东西就已经在fta.img里了。

这时你就可以烧写fat.img,但是这个文件跟分区大小一样大,如果分区为1G,则它就为1G,比较大,所以要想办法压缩。

4.压缩fat.img

其实fat.img中有用只为前半部分,后面全为0x00的字节,所以只需要把有用的前部分烧写就可以了。

如果你没有预置文件,则前面的1M字节就足够了,用dd命令:

dd if=fat.img of=fat_flash.img bs=1024 count=1024

这样只要把得到的1M大小的fat_flash.img烧写就可以了。



你可能感兴趣的:(android,架构,MTK,文件系统)