Linux手機DIY.飛利浦968的重大突破
草木瓜 更新于 2006-10-24 中午
一、序
昨天無意翻到一個貼子,說得是Shell的解釋執行,忽然想到目前嘗試的Shell
腳本,全是想當然的用/bin/bash解釋運行,如果飛利浦968不存在這個可執行文件
是絕對不可能運行的。
我在論壇上翻到“新號碼”從夏新E600升級包提取的文件內容,找個遍發現有ash,
也有sh,卻惟獨沒有bash。我隱隱感覺到有可能原因就出在這裏。
二、嘗試
將原包在Linux用tq用戶解包(tar xvf qnes.prg),將qnes替換爲Shell腳本,
腳本內容如下(先不指定用哪個Shell解釋):
exec audioplayer &
exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. &
exec ls > /mnt/doc/user_local/qnes/ls.txt &
exec ls > /mnt/doc/user_local/ebook/ls.txt &
用我的打包腳本,執行打包操作,讓鐵蛋安裝,發現沒有任何反應。我又把
Shell腳本加了一行語句 “#!/bin/sh”,即換成讓/bin/sh來解釋執行,即如下內容:
#!/bin/sh
exec audioplayer &
exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. &
exec ls > /mnt/doc/user_local/qnes/ls.txt &
exec ls > /mnt/doc/user_local/ebook/ls.txt &
再打包讓鐵蛋安裝執行,意外出現了,發現qnes目錄有了txt文件,也有了一堆
desktop文件,說明Shell在968上是完全執行成功了!
至于exec audioplayer & 這句只是根據“新號碼”提取的E600中desktop文件猜想的,
無關緊要。
結論:
目前飛利浦968安裝包的詳細制作方法我們已經知道,運行Shell腳本了也成功了,
968已經打開了一個極其重要的缺口,惟獨的是Install.conf還沒有參透,不過相信在
對飛利浦操作系統進一步研究過程中,我們會知道的越來越多。
最後明確一點,968擴展開發第三方軟件,只是個時間問題!
三、擴展飛利浦手機應用總體思路
通過運行Shell腳本,我們就可以知道整個操作系統的結構,包括Linux內核應用和上
層圖形化系統。從而一步一步獲取系統軟件和外部軟件管理運行的方式和環境,以及涉及
的相關庫文件(lib),資源文件(png,res)。最終完成交叉編譯開發移植第三方軟件。
目前可以簡單展望一下Shell腳本所帶來的根本性變化。
A.實現對現有手機系統功能的擴展和改進
原有手機系統程序大多數都是通過配置文件進行管理,這類配置文件是對用戶完全封
閉的。有了這個缺口,可以完全了解這些相關配置信息,靈活擴展手機程序的功能。
B.完全了解所有用戶操作對968手機系統的影響,以及個人數據在968上的存儲方式。
飛利浦手機的主清除和主複位百分之九十九是兩個不同的Shell腳本,不用多說了,
看看腳本內容就知道他做了些什麽。
C.通過Shell編程本身擴展手機功能應用
目前E680上的大量軟件是采用了Shell腳本來實現,如telnet,虛擬內存擴展,藍牙
telnet,進程監視,內存監視,數據備份,MPKG安裝卸載等等。這個得需要看具體的需求
了。
D.移植QTE,OPIE等一些其他的第三方軟件
這方面內容就太多了,不過需要一些技術問題需要解決,下文會詳細介紹。
四、未來方向的幾個重要疑問。
疑問一.Shell腳本既然可以運行,能不能通過USB實現telnet?這個問題很複雜,我也不清
楚。倘若能通過努力完成telnet,那DIY就太過方便了,不用老是重裝Qnes安裝包,來運行不同
的Shell了。完全就可以在Windows下操作飛利浦968!
疑問二.原qnes.prg包中的qnes可執行程序,也是兼容ARM指令集,不過是基于Linux2.0.0
內核的,目前手裏可用的交叉編譯工具是ARM,Linux 2.4.3的內核版本,這個版本編譯的可執
行程序在E680(Linux 2.4.0)是完全可以運行的,但不知道在飛利浦968(Linux 2.0.0)上能否
運行。如果不能運行,還需要構建一個基于Linux 2.0.0的交叉編譯環境。
疑問三.飛利浦968從理論上講是這種結構---Linux內核+Qte+圖形化框架,這個和E680系列
本質是一樣的,不過飛利浦的Linux內核代碼未公布,而E680系列內核代碼是開放的。Qte和上
層圖形化框架兩者倒是一樣,都沒有公布源代碼。不過E680卻拿到了A760(可能是)的上層圖形
化的開發包。所以一些興趣愛好者就使用上層圖形庫很容易開發出第三方軟件了(如ezxplayer,
抓圖軟件...等)。這些的E680系列軟件從理論上是不能通過簡單的交叉編譯移植過來的,因爲
兩者的上層開發包是不一樣的。不過在移植Qte和OPIE等這類軟件,兩者卻是完全一樣的。須要
解決的問題就是疑問二中所提到的。
五、寫在最後
最後我只想說一點,現在能讓飛利浦968運行自定義的Shell腳本了。了解Shell腳本的DX應
該知道這是一個什麽概念!
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
Linux手機DIY.飛利浦968的重大突破
草木瓜 更新于 2006-10-24 中午
一、序
昨天無意翻到一個貼子,說得是Shell的解釋執行,忽然想到目前嘗試的Shell
腳本,全是想當然的用/bin/bash解釋運行,如果飛利浦968不存在這個可執行文件
是絕對不可能運行的。
我在論壇上翻到“新號碼”從夏新E600升級包提取的文件內容,找個遍發現有ash,
也有sh,卻惟獨沒有bash。我隱隱感覺到有可能原因就出在這裏。
二、嘗試
將原包在Linux用tq用戶解包(tar xvf qnes.prg),將qnes替換爲Shell腳本,
腳本內容如下(先不指定用哪個Shell解釋):
exec audioplayer &
exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. &
exec ls > /mnt/doc/user_local/qnes/ls.txt &
exec ls > /mnt/doc/user_local/ebook/ls.txt &
用我的打包腳本,執行打包操作,讓鐵蛋安裝,發現沒有任何反應。我又把
Shell腳本加了一行語句 “#!/bin/sh”,即換成讓/bin/sh來解釋執行,即如下內容:
#!/bin/sh
exec audioplayer &
exec cp /mnt/user/cec/apps/6Self-Defined/*.desktop /mnt/doc/user_local/qnes/. &
exec ls > /mnt/doc/user_local/qnes/ls.txt &
exec ls > /mnt/doc/user_local/ebook/ls.txt &
再打包讓鐵蛋安裝執行,意外出現了,發現qnes目錄有了txt文件,也有了一堆
desktop文件,說明Shell在968上是完全執行成功了!
至于exec audioplayer & 這句只是根據“新號碼”提取的E600中desktop文件猜想的,
無關緊要。
結論:
目前飛利浦968安裝包的詳細制作方法我們已經知道,運行Shell腳本了也成功了,
968已經打開了一個極其重要的缺口,惟獨的是Install.conf還沒有參透,不過相信在
對飛利浦操作系統進一步研究過程中,我們會知道的越來越多。
最後明確一點,968擴展開發第三方軟件,只是個時間問題!
三、擴展飛利浦手機應用總體思路
通過運行Shell腳本,我們就可以知道整個操作系統的結構,包括Linux內核應用和上
層圖形化系統。從而一步一步獲取系統軟件和外部軟件管理運行的方式和環境,以及涉及
的相關庫文件(lib),資源文件(png,res)。最終完成交叉編譯開發移植第三方軟件。
目前可以簡單展望一下Shell腳本所帶來的根本性變化。
A.實現對現有手機系統功能的擴展和改進
原有手機系統程序大多數都是通過配置文件進行管理,這類配置文件是對用戶完全封
閉的。有了這個缺口,可以完全了解這些相關配置信息,靈活擴展手機程序的功能。
B.完全了解所有用戶操作對968手機系統的影響,以及個人數據在968上的存儲方式。
飛利浦手機的主清除和主複位百分之九十九是兩個不同的Shell腳本,不用多說了,
看看腳本內容就知道他做了些什麽。
C.通過Shell編程本身擴展手機功能應用
目前E680上的大量軟件是采用了Shell腳本來實現,如telnet,虛擬內存擴展,藍牙
telnet,進程監視,內存監視,數據備份,MPKG安裝卸載等等。這個得需要看具體的需求
了。
D.移植QTE,OPIE等一些其他的第三方軟件
這方面內容就太多了,不過需要一些技術問題需要解決,下文會詳細介紹。
四、未來方向的幾個重要疑問。
疑問一.Shell腳本既然可以運行,能不能通過USB實現telnet?這個問題很複雜,我也不清
楚。倘若能通過努力完成telnet,那DIY就太過方便了,不用老是重裝Qnes安裝包,來運行不同
的Shell了。完全就可以在Windows下操作飛利浦968!
疑問二.原qnes.prg包中的qnes可執行程序,也是兼容ARM指令集,不過是基于Linux2.0.0
內核的,目前手裏可用的交叉編譯工具是ARM,Linux 2.4.3的內核版本,這個版本編譯的可執
行程序在E680(Linux 2.4.0)是完全可以運行的,但不知道在飛利浦968(Linux 2.0.0)上能否
運行。如果不能運行,還需要構建一個基于Linux 2.0.0的交叉編譯環境。
疑問三.飛利浦968從理論上講是這種結構---Linux內核+Qte+圖形化框架,這個和E680系列
本質是一樣的,不過飛利浦的Linux內核代碼未公布,而E680系列內核代碼是開放的。Qte和上
層圖形化框架兩者倒是一樣,都沒有公布源代碼。不過E680卻拿到了A760(可能是)的上層圖形
化的開發包。所以一些興趣愛好者就使用上層圖形庫很容易開發出第三方軟件了(如ezxplayer,
抓圖軟件...等)。這些的E680系列軟件從理論上是不能通過簡單的交叉編譯移植過來的,因爲
兩者的上層開發包是不一樣的。不過在移植Qte和OPIE等這類軟件,兩者卻是完全一樣的。須要
解決的問題就是疑問二中所提到的。
五、寫在最後
最後我只想說一點,現在能讓飛利浦968運行自定義的Shell腳本了。了解Shell腳本的DX應
該知道這是一個什麽概念!