|
http://code.google.com/p/android-on-pre/wiki/TryAndroidNow
5 `# @; `% p4 Y" v9 ^1 T, P& L- b
$ W6 a$ h( c0 t1 E4 C( a$ H* T0 z4 K [size=120%]TryAndroidNow
* R" a5 {# F9 {: q' k' d2 t: B w% L; {' m: q
说明:目前Android根文件系统放在PC上,用NFS挂载,目的是防止开发过程中大量改写文件对Pre的flash造成损害。不过这也限制了目前只有Linux用户可用,因为Windows对必须的NFS服务、符号链接等特性支持有问题,在此表示歉意。 ' P9 n# M$ i8 ^1 r$ z
以下以Ubuntu 32-bit为例: 1. 安装Novacom" b, \4 k: z) O0 ^
在Palm(HP)官网下载:Novacom, 直接链接:Novacom 32-bit 2. 安装NFS服务1 ~. l9 O. p3 A4 X( I& T. E- K
apt-get install nfs-kernel-server 2.1 配置NFS
2 u4 D: W- e0 f% M/ W9 X; d2 C- K修改/etc/exports文件(需要root权限):sudo gedit /etc/exports
8 a' ^# ?/ q V# A& C添加将挂载Android文件系统的文件夹,比如我的是
; J4 ?7 K7 k. u: J/home/xndcn/nfs *(rw,insecure,no_subtree_check,sync,no_root_squash) 3 w, f& g# R c
注意,这里的*是用来匹配IP的,为了安全起见,你可以改为形如192.168.0.*(rw, ...)。具体可参考NFS相应文档。
0 E+ J2 j- G( P( F5 i修改完后,记得重新启动NFS服务:sudo /etc/init.d/nfs-kernel-server restart 3. 制作Android根文件系统% o+ Q$ i- w: ]$ \5 Y
可在Downloads中下载制作好的mix.tar。由于上传容量限制,我把它分块了。请分别下载mix.tar.00和mix.tar.01,然后执行cat mix.tar.00 mix.tar.01 > mix.tar 得到,将其解压到你的nfs文件夹中,例如我的是/home/xndcn/nfs,然后该目录下将多出一个mix目录。里面就是Android的根文件系统了。 4. 制作Kernel镜像5 `* t- [+ B4 W9 a& ~
可在Downloads中下载制作好的 uImage.usbnet 5. 配置网络
) z( O6 q" D( x) y8 }6 I; K0 V) O由于Pre在启动过程中将使用usb虚拟网络,需要在PC端设置一下以便让Pre能访问到PC。
$ M2 ? g( [% u; g* W& R5 M- Z o修改/etc/network/interfaces(需要root权限)。如sudo gedit /etc/network/interfaces ,然后添加:
* x* j/ i3 l% [8 ^* lauto usb0
1 Z1 B! y+ Q; z9 s+ J8 Siface usb0 inet static address 192.168.0.200 netmask 255.255.255.0
+ W, h3 p4 ]$ G& X8 D% I这里将PC上的ip设置成了192.168.0.200,你也可以修改成其他的。 ( n/ y0 T5 s. i# r0 G
注意,如果将来启动时,Pre的屏幕上出现类似"NFS server no responds"的话,请迅速在PC上用ifconfig查看,usb0的ip是否发生变化,然后用sudo ifconfig usb0 192.168.0.200改回来。 6. 进入主题
% k$ j% j3 t3 g9 Q3 T1 O( R/ k首先让Pre进入recovery模式。关机状态下,按住音量+键,用USB线连接,待Pre屏幕上出现大大的USB图案就好了;如果出现"palm"的字样,说明失败,得再来一次。 2 m. f! T9 @7 y, p3 B- }/ L
PC上打开终端,输入novaterm ,将进入novaterm,可以与Pre的bootloader(bootie)沟通了。
$ c- K# `6 T( F2 r6 b输入: setenv bootargs "root=/dev/nfs init=/init nfsroot=192.168.0.200:/home/xndcn/nfs/mix/,v3 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0::usb0:"
; N0 V; g6 h$ x+ f特别注意其中的ip地址和目录地址,请改成和你对应的。
! q4 B' y% L2 t' L: \; j接着打开另一个终端,进入放置uImage.usbnet的目录,然后输入:novacom boot mem:// < uImage.usbnet
) p9 \. ]1 A1 j- U- o: |好了,如无意外,Pre将开始启动,漫长等待后进入Android! 7. 开发与Hack
* P2 e7 Z% a Z) r% U下载的mix.tar中我加入了telnet的支持,默认就会启动。 Android启动起来后,可以在PC上输入:telnet 192.168.0.202 就会进入Pre的shell,用户名填root,无密码。
5 i D& r9 r' r进入以后,你可以运行/system/bin/logcat查看Android输出的记录。 参考资料
, R9 Y* l1 @ {6 v, b# g9 l! R1. bootie知识来源于http://www.webos-internals.org/wiki/Bootie ) a3 ~- l: z7 z* ~
2. NFS挂载的想法来自于http://wiki.freesmartphone.org/index.php/Palm_Pre:NFS-Root
) P) M/ [. _ k+ A8 w' v! C- D" b特此表示感谢! |
|