创建 Android 文件系统(Root file system)
2010-04-21 06:31:00 来源:WEB开发网上网查了一些资料,自己做了个android 文件系统(root file system). 和大家分享一下。
如何创建android的file 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 SDK的SDK/ 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/两个文件夹。
具体方法可以参考这里
------------------------
首先先给andriod装上busybox
1. 下载busybox fro android http://blog.chinaunix.net/u/20947/showart.php?id=1913228
2. 运行adb shell进入到android emulator
3. # mkdir /data/busybox
4. $ adb push busybox /data/busybox/busybox
5. # cd /data/busybox; ./busybox --install
6. # chmod 555 /system/bin/busybox
更多精彩
赞助商链接