制作Android Root Ramdisk

制作Android Root Ramdisk

制作Android的Root Ramdisk,供linux挂载并运行

1. Android Root Ramdisk介绍... 3

2. Android Root Ramdisk的开发环境... 3

3. 制作Android Root Ramdisk.. 4

4. 使用Android Root Ramdisk 前提... 4

5. 现存的问题... 4


1. Android Root Ramdisk介绍

Android Root Ramdisk 是整个Android开源项目编译后的最终输出文件夹,linux系统启动后将直接挂载该文件夹为系统根目录,并执行Android的init程序,启动整个Android应用。

Android Root Ramdisk制作正确与否将直接影响到Android应用是否正常运行。

2. Android Root Ramdisk的开发环境

clip_image001

SecureCRT使用该软件读取Target上的串口信息,监控系统,也可以使用window的超级终端或其他串口软件。

NFSTarget上的linux系统,使用NFS文件系统挂载Android Root Ramdisk作为Linux根目录,并启动Android应用。

Copy将Android Project下的源代码编译生成的root文件目录做部分修改后,拷贝到NFS Server的目录下。

Telnet,SSH2通过该协议的相关软件(SecureCRT,Puty等),登陆Linux Host操作Android Project,NFS Server。

3. 制作Android Root Ramdisk

l 获取一份Android Project代码

l 拷贝到linux host上,并解压

l 确认linux host安装了相关编译软件包

l 在Android Project根目录下直接make

l 大约2~3个小时后可以编译完成

l 拷贝出Android Project根目录下的/out/target/product/generic/root文件夹,作为Android Root Ramdisk

l 再拷贝Android Project根目录下的/out/target/product/generic/system目录到Android Root Ramdisk目录下,覆盖原有system目录(原目录通常是个空文件夹)

l 注释掉Android Root Ramdisk根目录下init.rc文件中某一个命令,如下:

mount rootfs rootfs / ro remount

变为

# mount rootfs rootfs / ro remount

至此Android Root Ramdisk制作完成。

4. 使用Android Root Ramdisk 前提

l Linux内核必须移植正常,能够顺利启动系统,如果在Linux系统启动Android的init程序之前便失败的话,要检查linux内核配置。目前制作出来的Android Root Ramdisk可以运行在内核2.6.25,以及2.6.27内核上。

l NFS Server必须设置好rw权限。

l 目前Android Root Ramdisk的制作方法适用于各种Android Project的版本(包括cupcake)。

5. 现存的问题

l 该制作方法出来的Android Root Ramdisk可以进入Android的待机界面,但按键,触摸屏的事件暂时还无法响应操作(但Android应用可以识别到按键消息)

你可能感兴趣的:(android,linux)