androidramdisk

1android文件系统的结构
android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中,ramdisk.imgemulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把systemuserdata分别加载到ramdisk文件系统中的systemuserdata目录下。因此,我们可以把ramdisk.img里的所有文件复制出来,system.imguserdata.img分别解压到ramdisk文件系统中的systemuserdata目录下。

2、分离android文件系统出来
system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验证:
fileramdisk.img,输出:
ramdisk.img:gzipcompresseddata,fromUnix,lastmodified:WedMar1817:16:102009
Android源码编译后除了生成system.imguserdata.img之外还生成systemuserdata文件夹,因此不需要解压它们。Android源码编译后还生成root文件夹,其实root下的文件与ramdisk.img里的文件是一样的,不过这里还是介绍怎样把ramdisk.img解压出来:
ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,并使用命令
gunzipramdisk.img.gz
然后新建一个文件夹,叫ramdisk吧,进入,输入命令
cpio-i-F../ramdisk.img
这下,你就能看见并操作ramdisk里面的内容了。
然后把Android源码编译后生成的systemuserdata里的文件复制到ramdisk/systemramdisk/userdata下。这样就得到一个文件系统了。

3、使用网络文件系统方式挂载android文件系统
因此,我们需要建立/nfsroot目录,再建立/nfsroot/androidfs目录,把刚才的android文件系统改名为androidfs,并链接到/nfsroot/androidfs

4android内核引导文件系统
android内核挂载/nfsroot/androidfs之后,根据init.rc,init.goldfish.rc来初始化并装载系统库、程序等直到开机完成。init.rc脚本包括了文件系统初始化、装载的许多过程。init.rc的工作主要是:
1)设置一些环境变量
2)创建systemsdcarddatacache等目录
3)把一些文件系统mount到一些目录去,如,mounttmpfstmpfs/sqlite_stmt_journals
4)设置一些文件的用户群组、权限
5)设置一些线程参数
6)设置TCP缓存大小

更多相关文章

  1. 01-android 4.0 入门配置以及HelloWorld程序讲解
  2. Windows平台上编译OpenCV的Android版本
  3. Android之SharePreference
  4. Android(安卓)对话框【Dialog】去除白色边框代码
  5. 转:Android(安卓)对话框【Dialog】去除白色边框代码
  6. Android模块编译:m/mm/mmm命令
  7. arcgis for Android(安卓)100.2 加载shp
  8. Android(安卓)Studio中的build.gradle文件解析
  9. NPM 和webpack 的基础使用

随机推荐

  1. Camera源码分析(android2.2)
  2. [置顶] Android(安卓)怎么退出整个应用程
  3. Android崩溃
  4. 在Windows上搭建Android的JAVA开发环境图
  5. android 短信发送学习
  6. Android中Http网络请求库Asnyc-http的使
  7. android中上层是如何接收按键事件的
  8. Android开机广播无法接收问题
  9. Android 内存溢出(Out Of Memory)
  10. U3D 发布 Android