1. 拨码开关使用方法:
INAND(for android/linux):烧写模式为00100111,启动模式为
00100110。
SD 卡(for wince):烧写 00010011,启动模式为 00010010
2. Adroid 系统文件说明(深入剖析)
用过 Linux 的朋友可能对开源的系统有一个非常好的印象。那么在日益成熟的手机操作
系统中,有没有一款像 Linux 一样的开源系统呢?谷歌公司就退出了一款基于 Linux 平台的
Android 操作系统来满足人们的需求。在这里大家可以先来了解一下 Android 文件系统的相
关内容。
1、Android 文件系统的结构
Android 源码编译后得到 system.img,ramdisk.img,userdata.img 映像文件。其中,
ramdisk.img 是 emulator 的文件系统,system.img 包括了主要的包、库等文件,userdata.img
包括了一些用户数据,emulator 加载这 3 个映像文件后,会把 system 和 userdata 分别加
载到 ramdisk 文件系统中的 system 和 userdata 目录下。因此,我们可以把 ramdisk.img
里的所有文件复制出来,system.img 和 userdata.img 分别解压到 ramdisk 文件系统中的
system 和 userdata 目录下。
2、分离 Android 文件系统出来
system.img,ramdisk.img,userdata.img 映像文件是采用 cpio 打包、gzip 压缩的,可
以通过 file 命令验证:
1.
file ramdisk.img
输出:
2.
ramdisk.img: gzip compressed data, from Unix,
last modified: Wed Mar 18 17:16:10 2009
Android 源码编译后除了生成 system.img,userdata.img 之外还生成 system 和
userdata 文件夹,因此不需要解压它们。Android 源码编译后还生成 root 文件夹,其实 root
下的文件与 ramdisk.img 里的文件是一样的,不过这里还是介绍怎样把 ramdisk.img 解压
出来:
将 ramdisk.img 复制一份到任何其他目录下,将其名称改为 ramdisk.img.gz,并使用
命令
3.
gunzip ramdisk.img.gz
然后新建一个文件夹,叫 ramdisk 吧,进入,输入命令
4.
cpio -i -F ../ramdisk.img
这下,你就能看见并操作 ramdisk 里面的内容了。
然后把 Android 源码编译后生成的 system 和 userdata 里的文件复制到
ramdisk/system 和 ramdisk/userdata 下。这样就得到一个文件系统了。
3、使用网络文件系统方式挂载 Android 文件系统
因此,我们需要建立/nfsroot 目录,再建立/nfsroot/Androidfs 目录,把刚才的 Android
文件系统改名为 Androidfs,并链接到/nfsroot/Androidfs
4、Android 文件系统内核引导文件系统
Android 内核挂载/nfsroot/Androidfs 之后,根据 init.rc,init.goldfish.rc 来初始
化并装载系统库、程序等直到开机完成。init.rc 脚本包括了文件系统初始化、装载的许多
过程。init.rc 的工作主要是:
1)设置一些环境变量
2)创建 system、sdcard、data、cache 等目录
3)把一些文件系统 mount 到一些目录去,如,mount tmpfs tmpfs /sqlite_stmt_journals
4)设置一些文件的用户群组、权限
5)设置一些线程参数
6)设置 TCP 缓存大小
Android ramdisk.img system.img userdata.img
分类: 嵌入式系统的研究与开发 2010-05-27 11:34 3111 人阅读 评论(0) 收藏 举报
ramdisk.img 是 android 系统的根文件系统,系统内核会加载它。它的目录结构如下:
/system
/sys
/sbin
/proc
init.rc
init.goldfish.rc
init
/dev
default.prop
/data
system.img 是 android 系统中存放系统文件的,格式为 yaff2 文件系统的 image 文件。它
将被 init 进程通过解析 init.rc 文件 mount 到/system 目录下。它的目录结构如下:
app
framework
lib
xbin
build.prop
fonts
usr
bin
etc
userdata.img 是 android 系统中存放用户数据的,格式为 yaff2 文件系统的 image 文件。它
将被 init 进程通过解析 init.rc 文件 mount 到/data 目录下。它没有目录结构。不过,mount
到 data 目录后,init 进程将会在其中创建如下结构的目录(参考 init.rc 文件):
misc
data
app-private
app
property
dalvik-cache
lost+found
//from http://www.devdiv.net/action-blogdetail-uid-1-id-1488
1. Android 模拟 器采用的是开源工程 Qemu,Qemu 是 Linux 下的著名模拟器
2. kernel-qemu 是内核镜像
3. ramdisk.img 是文件 系统 ,如果你自己编译 了 android 的源代码 ,它的内容为
out/debug/target/product/generic/root,mount 到 android 的/
4. system.img 主要存放系统数据 ,android 启动后 mount 到/system
它包含的内容为 out/debug/target/product/generic/system
5. 一般来说我们不直接使用 userdata.img,而是使用 userdata_qemu.data,用来存放用户
数据,可读写,android 启动后 mount 到 /data。只有使用-wipe-data 参数启动模拟器是时
候才会用到 userdata.img,它会使用 userdata.img 的内容覆盖 userdata-qemu.img
userdata.img 的内容为 out/debug/target/product/generic/system
我們也可以在 terminal 中運行 mount 命令查看文件系統 mount 情況。