ubuntu制作android根文件系统

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的跟文件系统就做好了

猜你喜欢

转载自blog.csdn.net/u011068616/article/details/47172073