1.下载android的linux内核,google的下不了,给一个csdn的
http://download.csdn.net/download/jeanceunix/6417447
解压tar -xvzf linux-2.6.25-android-1.0_r1.tar.gz
2.安装android sdk
网上很多,下一个安装下
3.开始做文件系统
(1).下载busybox:http://benno.id.au/blog/2007/11/14/android-busybox
直接下载二进制的不用下载源码
然后赋予权限 sudo chmod 777 busybox
(2)cd sdk目录/tools
/1/ ./emulator -avd 2.2 &,如果只有一个android系统就直接./emulator &
/2/启动完之后进入android系统的dev tools-->development settings下勾选Wait for debugger,Show running processes,Show screen updates三项
可能会看到android系统桌面有些抖动,没关系,这是因为勾选了第3项
/3/回到命令行终端,输入./adb push busybox目录/busybox /data,会把busybox下载到android中,busybox含有我们等会要使用的命令
/4/ ./adb shell
/5/依次执行下面4条命令:对该android的文件系统进行打包
# /data/busybox tar -czf system.tar.gz ./system
# /data/busybox tar -czf data.tar.gz ./data
# /data/busybox tar -czf etc.tar.gz ./etc
# /data/busybox tar -czf sbin.tar.gz ./sbin
只读文件系统错误:mount -o remount, rw / 逗号后面有个空格
/6/exit退出到ubuntu的命令行,把打包好的文件从android中拉到ubuntu中
./adb pull /system.tar.gz ./
./adb pull /data.tar.gz ./
./adb pull /etc.tar.gz ./
./adb pull /sbin.tar.gz ./
还有一个可执行文件init: ./adb pull /init ./
/7/利用上面的4个tar.gz和init开始作android文件系统
在你乐意的随便一个目录下创建一个文件夹initial_ram_disk
为了方便我们把上面的5个文件copy到initial_ram_disk下
再在这个文件夹下创建多个目录,如下所示
解压:
tar -xf system.tar.gz ./
tar -xf data.tar.gz ./
tar -xf etc.tar.gz ./
tar -xf sbin.tar.gz ./
给init可执行权限:sudo chmod 777 init
多了2个文件夹data和system,其中有一个链接文件是坏的etc
重新给它做下链接:rm etc , sudo ln -s system/etc etc
大功告成,android的跟文件系统就做好了