|
http://code.google.com/p/android-on-pre/wiki/TryAndroidNow% B8 A9 y$ r7 o7 k$ |, ^
- [ I: K5 [; o [size=120%]TryAndroidNow ) P5 d/ l( R8 s0 M6 x% ~& i% A
* Z0 B, w% `" ]% u4 c- u' A说明:目前Android根文件系统放在PC上,用NFS挂载,目的是防止开发过程中大量改写文件对Pre的flash造成损害。不过这也限制了目前只有Linux用户可用,因为Windows对必须的NFS服务、符号链接等特性支持有问题,在此表示歉意。 7 l. P; V& Y- ~1 z% ]& M: E. R
以下以Ubuntu 32-bit为例: 1. 安装Novacom2 z, @( _1 c' N' k j5 p* X4 D
在Palm(HP)官网下载:Novacom, 直接链接:Novacom 32-bit 2. 安装NFS服务; G7 v8 ~5 h/ I: R6 O: i4 D' k
apt-get install nfs-kernel-server 2.1 配置NFS) g2 n' @6 h# U- n0 d
修改/etc/exports文件(需要root权限):sudo gedit /etc/exports
, A; h. w+ X) m0 S3 x) z0 i; w添加将挂载Android文件系统的文件夹,比如我的是 , d6 O8 c% O0 i
/home/xndcn/nfs *(rw,insecure,no_subtree_check,sync,no_root_squash)
- d. V, U+ {) N# n, ^+ D w, b注意,这里的*是用来匹配IP的,为了安全起见,你可以改为形如192.168.0.*(rw, ...)。具体可参考NFS相应文档。 ; E4 W* O$ H9 l, d1 Q: {
修改完后,记得重新启动NFS服务:sudo /etc/init.d/nfs-kernel-server restart 3. 制作Android根文件系统8 `4 }& N% }3 ~ a% U- `" R
可在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镜像
* t; B. @' _2 ]9 o N; s, S可在Downloads中下载制作好的 uImage.usbnet 5. 配置网络
0 f; v0 ~$ T$ Y1 [' C8 z1 a由于Pre在启动过程中将使用usb虚拟网络,需要在PC端设置一下以便让Pre能访问到PC。
2 D" i4 t8 o2 u4 P# D* q" `. {修改/etc/network/interfaces(需要root权限)。如sudo gedit /etc/network/interfaces ,然后添加: : s9 X( e# F* y+ ^
auto usb0
& A6 }* r5 c: `0 M2 Giface usb0 inet static address 192.168.0.200 netmask 255.255.255.0
* Y& p" \; C5 P9 o这里将PC上的ip设置成了192.168.0.200,你也可以修改成其他的。
" V, f8 |6 V$ H注意,如果将来启动时,Pre的屏幕上出现类似"NFS server no responds"的话,请迅速在PC上用ifconfig查看,usb0的ip是否发生变化,然后用sudo ifconfig usb0 192.168.0.200改回来。 6. 进入主题
' J4 `5 z. Z3 ?) M% q+ f首先让Pre进入recovery模式。关机状态下,按住音量+键,用USB线连接,待Pre屏幕上出现大大的USB图案就好了;如果出现"palm"的字样,说明失败,得再来一次。
! X X7 u. C4 L% t! m' W: rPC上打开终端,输入novaterm ,将进入novaterm,可以与Pre的bootloader(bootie)沟通了。 1 a( [( o+ l- Z' Z
输入: 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:" 5 t! o& S! r& P/ P$ F
特别注意其中的ip地址和目录地址,请改成和你对应的。
% X# p1 G) n' s- Z Q接着打开另一个终端,进入放置uImage.usbnet的目录,然后输入:novacom boot mem:// < uImage.usbnet
9 f0 N+ y# T5 G9 c* `* R好了,如无意外,Pre将开始启动,漫长等待后进入Android! 7. 开发与Hack+ U6 u& ?' f! j6 {
下载的mix.tar中我加入了telnet的支持,默认就会启动。 Android启动起来后,可以在PC上输入:telnet 192.168.0.202 就会进入Pre的shell,用户名填root,无密码。 2 Z) |+ X B! u& N
进入以后,你可以运行/system/bin/logcat查看Android输出的记录。 参考资料6 ]. V# b% y* d: j( e4 V- d
1. bootie知识来源于http://www.webos-internals.org/wiki/Bootie
* F! ]" q3 L( t5 E2. NFS挂载的想法来自于http://wiki.freesmartphone.org/index.php/Palm_Pre:NFS-Root
, q; y0 Y5 s( b$ ^, v特此表示感谢! |
|