Chinaunix首页 | 论坛 | 博客
  • 博客访问: 420012
  • 博文数量: 75
  • 博客积分: 2020
  • 博客等级: 大尉
  • 技术积分: 663
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-04 16:56
文章分类

全部博文(75)

文章存档

2010年(10)

2009年(65)

分类: LINUX

2009-08-15 11:30:53

今天研究了一下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,所有的分区加起来都比整个Nandflash小38.5MB,这些空间应该另有他用,其中有一个 用处就是存放bootloader。但是从以往的经验来看,bootloader不可能有38.5MB,肯定另有用处,可能用于虚拟内存(猜测)。
阅读(1044) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~