您的位置:首页 > 移动开发 > Android开发

Android G1的nand分区情况

2014-05-07 00:04 141 查看
今天研究了一下Android G1的nand分区情况。

由于底层研发的习惯,我先看了看文件系统在Nand Flash中的分布情况:

我在Ubuntu下使用adb连接了G1,然后:

# cat /proc/mtd

dev: size erasesize name

mtd0: 00040000 00020000 "misc"

mtd1: 00500000 00020000 "recovery"

mtd2: 00280000 00020000 "boot"

mtd3: 05a00000 00020000 "system"

mtd4: 01e00000 00020000 "cache"

mtd5: 059c0000 00020000 "userdata"

mtd6: 10000000 00020000 "msm_nand"

从中可知:

misc :0.25MB:是存放开机画面的分区,也就是开机时看到的那个白色的大G1字样(默认为白色"T-mobile G1")

recovery :5MB:是G1的恢复模式镜像区(即开机按Home+End进入的界面)

Boot :2.5MB:Linux操作系统内核和ramdisk镜像一起打包后存放的分区

system :90MB:是system.img存放的分区,启动后此镜像挂载在根目录下的system文件夹中。

cache :30MB:是缓存临时文件夹,挂载为/cache目录,据说是除了T-mobile的OTA更新外,别无用处。

userdata :89.75MB:用户安装的软件以及各种数据,挂载为/data目录

msm_nand :256MB:代表整个Nand Flash,不是一个分区。但是所有的分区加起来才217.5MB,小于256MB,说明还有剩余的flash空间。(此分区在大部分机上不存在,不影响使用)

G1所使用的Nand Flash是K5E2G1GACM,但是在三星的网上居然没找到Datasheet,网上也没有google到!

模拟器中的输出是这样的:

# cat /proc/mtd

dev: size erasesize name

mtd0: 04000000 00020000 "system"

mtd1: 04000000 00020000 "userdata"

mtd2: 06100000 00020000 "cache"





补黑色台版的G2分区 :

# cat /proc/mtd

dev: size erasesize name

mtd0: 00040000 00020000 "misc"

mtd1: 00500000 00020000 "recovery"

mtd2: 00280000 00020000 "boot"

mtd3: 05a00000 00020000 "system"

mtd4: 05000000 00020000 "cache"

mtd5: 127c0000 00020000 "userdata"

可以看到 cache 和 userdata变大了,因为 G2的ROM 为512MB的。

从上面的数据我么可以发现一个现象:无论是G1还是G2,所有的分区加起来都比整个Nand flash小38.5MB,这些空间应该另有他用,其中有一个用处就是存放bootloader。但是从以往的经验来看,bootloader不可能有38.5MB,肯定另有用处,可能用于虚拟内存(猜测)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: