相信大家都知道,目前x86的电脑能安装多种操作系统(Solaris、Win9x、或Linux),各位GNU迷也一定被Unix系统稳定、强大的执行环境所吸引。其实在iPaq的执行环境中也能将WinCE去掉,并安装Linux的执行环境,这就是PocketLinux。在这里值得一提的是,它的窗口执行环境也是用Java语言编写,很漂亮也很酷。
您需要了解的一些关于PocketLinux知识:PocketLinux是个完整的、开放的、让您可以在小型设备上执行的操作平台。它提供了“Application Framework”,让使用者可以模块化的修改或删除系统中的程序,以配合最后要发布的硬件规格。另外,开发者可以通过XML语言来定义应用程序的一些特性,并用以编写应用程序。
如果您需要使用更高级的功能,您还可以编写java程序,因为Kaffe是个功能强大的Java VM,相信能满足您的需求。当然它已经提供了许多编写好的interface及API(供C、C++或Assembly程序员使用),这样您就不一定非要直接编写Java程序了。PocketLinux完整的参照了GNU下的OpenSource条约。
笔者还想在这里为大家补充一下有关PocketLinux中的JavaVM-Kaffe知识。(关于kaffe,您可以在http://www.kaffe.org中找到更详细的资料)Kaffe是在2000年7月19日发布的一个VM(官方说这个VM是个净化的环境,支持Java2),他们希望能发展出一个在任何嵌入式系统中都能执行的Java VM(当然它也是OpenSource的)。若您有兴趣,相信在kaffe网页上必有大量收获。
下面就准备替我们的iPaq重新安装操作系统吧。
首先准备我们所需要的硬件:PDA iPaq PDA3600系列;有USB及Com Port接口的PC电脑;USB传输线及型号为191008-B21的RS-232连接线(可于Compaq官方网页购得)。
下面开始安装。注意,您需要知道您iPaq中的ROM是多大,因为PocketLinux中对多媒体的展示不同。
1.首先把http://www.pocketlinux.com/ftp/latest/binary/ipaq网页中的@(红色螺旋)图形的软件先下载回来,另外您需要另外下载的osloader-1.3.0.exe文件也在同一个页面中。
2.接着将osloader-1.3.0.exe传入WinCE的根目录(就是在\Mobile Device\My Pocket PC的目录中),另外将bootldr-c002-2.9.5这个文件改成bootldr也传入WinCE的根目录,然后用File Explorer切换到该目录,点选osloader-1.3.0,接着点选Menu中的Tools->Flash->Save To Files……然后就会出现一些信息,通知您已经将文件备份成功了(会有四次),若有问题请先确认您的RAM空间是否足够,并按一下Rest按钮,也许系统后面已经运行了太多的应用程序。
3.接着根目录会多出四个文件,flash_00000000、flash_00400000、flash_00800000、flash_00c00000,请将他们移到您的硬盘中备份起来(后悔了还可以还原)。
4.请按Tools->Run->Run after loading from file(注意,会出现iPaq画面消失的画面,请您不要惊慌),准备我们的下一步。
5.首先将ActiveSync中的ConnectSetting->Allow Serial cable ...选单关掉,接着打开我的们Windows的超级终端(HyperTerminal,通常在附属的应用程序中),建立一个新的连线(要知道您的iPaq RS-232连线为Port多少),规格为每秒传输bit为115200,资料bit为8,同步检查为无,停止bit为1,流量控制为无,接着可按“连接”。在新出现的画面中按两下Enter,接着就会出现一个boot>的提示符,然后您只需照着下面的步骤输入就可以顺利地安装PocketLinux了。
6.输入load booter,然后选择终端传送->传送文件,使用Xmodem协议的文件名为bootldr-0000-2.9。等待传送完成后按一下右下角的Reset按钮(当然此时画面还出不来)。
7.待开机完成,后再输入set linuxargs "noinitrd root=/dev/flash4 init=/linuxrc console=0"(都在同一行)。
8.输入set baudrate 115200。
9.输入parms save。
载入Linux区(下面的步骤要特别小心,不然就有可能“机毁人亡”)
10.输入load kernel,传入文件为zImage。
11.输入load flash 0x100000,传入文件为init.cramfs。
12.输入load flash 0x200000,传入文件为root.cramfs。
13.输入load flash 0x500000,传入文件为usr.cramfs。
14.输入load flash 0xd00000,传入文件为:若您是16MB ROM的iPaq,请安装media.small.cramfs;若您为32MB ROM的iPaq,则安装media.large.cramfs。
完成了吗?接着切换到Hardrest开关,关了再开。看到终端的一堆启动画面了吗?看看您的iPaq吧,Linux还有Java都出来了吧!
这里要说明一下,所谓的“终端”就是PocketLinux的管理界面(Root的密码为Pocket)。另外关于还原及一些开发的文件,可在http://www.pocketlinux.com/ftp/latest/doc/的文件中找到。