|
http://code.google.com/p/android-on-pre/wiki/TryAndroidNow
9 \) i* `3 D/ b$ S; R, Z; e. Z& ^ ^, d, Z# i0 m8 p; b0 ~; c
[size=120%]TryAndroidNow
4 c$ k. g& o: i9 S X- P8 Z
1 W3 V8 J% f d0 E7 P说明:目前Android根文件系统放在PC上,用NFS挂载,目的是防止开发过程中大量改写文件对Pre的flash造成损害。不过这也限制了目前只有Linux用户可用,因为Windows对必须的NFS服务、符号链接等特性支持有问题,在此表示歉意。 ; T2 }0 L( G+ \: Z9 |6 \9 b9 y5 V3 O2 {
以下以Ubuntu 32-bit为例: 1. 安装Novacom
I6 C. J7 c6 x( j5 T在Palm(HP)官网下载:Novacom, 直接链接:Novacom 32-bit 2. 安装NFS服务
m$ p0 m: R# v0 D4 J. z& japt-get install nfs-kernel-server 2.1 配置NFS# x9 c, W) i3 Y2 ]+ B/ [
修改/etc/exports文件(需要root权限):sudo gedit /etc/exports 1 }0 y% s/ }! u0 P+ q/ [
添加将挂载Android文件系统的文件夹,比如我的是 ( Z' s7 X* ]1 K1 l# u
/home/xndcn/nfs *(rw,insecure,no_subtree_check,sync,no_root_squash)
9 P2 s U! N/ C- r( e注意,这里的*是用来匹配IP的,为了安全起见,你可以改为形如192.168.0.*(rw, ...)。具体可参考NFS相应文档。
7 g; |& l J7 }" V) K修改完后,记得重新启动NFS服务:sudo /etc/init.d/nfs-kernel-server restart 3. 制作Android根文件系统, M" G6 B) j- Z0 N9 _! ?
可在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镜像0 U4 y/ S0 w9 c6 f, F; G
可在Downloads中下载制作好的 uImage.usbnet 5. 配置网络( J9 D, p6 B! v* Z4 M- T. p0 J
由于Pre在启动过程中将使用usb虚拟网络,需要在PC端设置一下以便让Pre能访问到PC。 0 `3 Z2 }/ N8 D: v
修改/etc/network/interfaces(需要root权限)。如sudo gedit /etc/network/interfaces ,然后添加: # s1 B% ~8 ?/ i7 m% }
auto usb0
. H! d: v7 E2 ?0 r J% ]iface usb0 inet static address 192.168.0.200 netmask 255.255.255.0
5 { Q& [* J. Y! L( p: z这里将PC上的ip设置成了192.168.0.200,你也可以修改成其他的。
, |+ E3 J7 ^1 M) {注意,如果将来启动时,Pre的屏幕上出现类似"NFS server no responds"的话,请迅速在PC上用ifconfig查看,usb0的ip是否发生变化,然后用sudo ifconfig usb0 192.168.0.200改回来。 6. 进入主题
! E# [: b( |9 F, {! X9 N首先让Pre进入recovery模式。关机状态下,按住音量+键,用USB线连接,待Pre屏幕上出现大大的USB图案就好了;如果出现"palm"的字样,说明失败,得再来一次。 6 x& }% w7 c$ Y! V6 Q4 L
PC上打开终端,输入novaterm ,将进入novaterm,可以与Pre的bootloader(bootie)沟通了。 * @# _. k% f K( J* h7 y# X
输入: 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:"
9 O* r1 ?( C; P4 \+ p* q7 R特别注意其中的ip地址和目录地址,请改成和你对应的。 1 i( i, k& z, i& K% m
接着打开另一个终端,进入放置uImage.usbnet的目录,然后输入:novacom boot mem:// < uImage.usbnet
' O: ]) ^8 n2 Y' c# h好了,如无意外,Pre将开始启动,漫长等待后进入Android! 7. 开发与Hack/ V( ]( G3 w u" i; t& @
下载的mix.tar中我加入了telnet的支持,默认就会启动。 Android启动起来后,可以在PC上输入:telnet 192.168.0.202 就会进入Pre的shell,用户名填root,无密码。 7 G4 v) X% u/ |. f! }
进入以后,你可以运行/system/bin/logcat查看Android输出的记录。 参考资料
' D8 _2 w* Q. S' V6 Q+ [1. bootie知识来源于http://www.webos-internals.org/wiki/Bootie 5 Q/ F/ e& M- E4 b1 [+ w
2. NFS挂载的想法来自于http://wiki.freesmartphone.org/index.php/Palm_Pre:NFS-Root
4 [( Q5 y# f) c: M特此表示感谢! |
|