Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1081753
  • 博文数量: 226
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 2504
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-21 14:12
文章分类

全部博文(226)

文章存档

2011年(1)

2010年(2)

2009年(68)

2008年(4)

2007年(27)

2006年(124)

我的朋友

分类: LINUX

2009-05-08 13:56:08

上网查了一些资料,自己做了个android 文件系统(root file system). 和大家分享一下。

 如何创建androidfile system,这里介绍两种方法。

 第一种就是通过build android source得到,source build结束之后,会产生大部分的android文件系统,位置在你的android source build目录下的out/target/product/generic/。其中root/就是你的root fs, 你需要将system/拷贝到root/system下,这样root/就是你得到的一个基本的文件系统。但是,现在root/dev下面是空的,所以,我们需要创建所需要的device, 你可以到系统 /dev下, 把所有的device打一个包,拷贝到 dev下面(最省事的做法);或者使用mknod来自己建所需要的device

 第二种方法,是通过android镜像文件来得到文件系统。

android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中,是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数 据,emulator加载这3个映像文件后,会把和 userdata分别加载到 ramdisk文件系统中的system userdata目录下。 ramdisk.img system

 所以,可以通过下面的方法来建立我们自己的文件系统:

1.       android SDKSDK/ platforms/android-1.5/images下面得到Ramdisk.img

2.       解开 ramdisk.img

$ mv ramdisk.img ramdisk.cpio.gz

$ gzip -d ramdisk.cpio.gz

$ mkdir rootfs

$ cd tmp

$ cpio -i -F ../ramdisk.cpio

*** 此时 rootfs 目录下的就是 ramdisk.img 的文件和目录了,也就是你的root file system根目录了。

 3.      启动android模拟器,从模拟器里面取出data/ system/两个文件夹。具体方法可以参考这里

4.      将这两个文件夹拷贝到rootfs里面,覆盖掉里面相应的那两个同名文件夹。

5.      最后一步,同第一种方法一样,创建dev/,这里不再赘述。


原创文章,转载请注明出处:http://yishuihe.cublog.cn

阅读(1816) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~