相信大家都知道,目前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/的文件中找到。