2013年1月29日火曜日

android的nand分区

今天研究了一下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,肯定另有用处,可能用于虚拟内存(猜测)。SPL?

smartQ5的配置
blkdev:
external sdcard
brw------- root root 179, 9 2010-01-12 22:47 mmcblk1p1
brw------- root root 179, 8 2010-01-12 22:47 mmcblk1

internal inand:
brw------- root root 179, 3 2010-01-12 22:47 mmcblk0p3 (swap)
brw------- root root 179, 2 2010-01-12 22:47 mmcblk0p2 (/data)
brw------- root root 179, 1 2010-01-12 22:47 mmcblk0p1 (/system)
brw------- root root 179, 0 2010-01-12 22:47 mmcblk0

mount:
rootfs / rootfs rw 0 0
devpts /dev/pts devpts rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
/dev/block/mmcblk0p1 /system ext3 ro,data=ordered 0 0
/dev/block/mmcblk0p2 /data ext3 rw,nosuid,nodev,data=ordered 0 0
/dev/block//vold/179:9 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=
1000,fmask=0000,dmask=0000,codepage=cp437,iocharset=iso8859-1,shortname=mixed,ut
f8 0 0

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tekkamanitachi/archive/2009/06/10/4259099.aspx

0 件のコメント:

コメントを投稿