使用Python腳本語言進行程序編輯
如何使用Python腳本語言在游戲中進行操作里面主要有兩種方式,一種方式是主程序使用一門高級語言,比如C++進行編寫,然后對其嵌入一個腳本解釋器,在運行時動態執行一些腳本函數。
啟動Python腳本語言,Platform選擇memlow-lpia-ubuntu-hardy,target選擇ububtu-mobile,自動生成即可,等待的時間那叫一個長啊。這也是工具的好與不好,之前敲命令,交叉編譯了Gnome Mobile框架的幾乎所有模塊,吃盡了苦頭,但不至于閑著沒事干;
而由工具自動生成呢,清閑了很多,也不太關心編譯的細節,就是盼著趕快編完,好做測試。接下來,生成Image文件,選擇Live RW USB。此時以為大功告成了,點擊Launch VM,沒有反應...郁悶阿。Google,運行KVM需要CPU支持Intel VT才行,手頭又沒有MID,那就試試Qemu吧。
把編成的映象文件(Launch VM時選擇的文件)直接扔給Qemu,結果“checking device /dev/sda for installation source...”問題出在哪呢,把映象文件掛到本地也沒有看出個所以然,其實,Python無法直接跑出畫面也在預料之中(此處Qemu的使用可能存在問題 qemu -hda moblin.img)。
由于內核、文件系統由MIC生成,使得很多處理的細節無法得知,但編譯的文件總是存在的吧,我想完全可以根據MIC生成的文件來創建Qemu仿真所需的文件。內核可以在${Project Name}/targets/${Target Name}/fs/boot中找到,主要的工作是建立根文件系統的ext3文件:
- dd if=/dev/zero of=1G.img bs=1M seek=1000 count=0
- mkfs.ext3 1G.img
- sudo mount 1G.img ${Mount Dir} -o loop
接下來就比較簡單了,拷貝${Project Name}/targets/${Target Name}/fs下的所有內容到${Mount Dir},根文件系統就算形成了(沒用的內容請刪掉,我的目錄下有內核的連接)。linux啟動過程一切順利,提示輸入用戶名和密碼...再次掛載根文件系統1G.img,刪掉shadow?還是用文明一點的辦法吧,拷貝本機/etc/shadow到${Mount Dir}/etc。
再次啟動,得到了shell,可還是沒有圖形界面(如果MID需要手工啟動X,感覺有點多此一舉,問題可能出在配置上,沒有深究,跑起X再說)。沒有/etc/init.d/gdm,還是startx吧,令人沮喪的事再次發生,“(EE):no valid modes found”。沒辦法。
只能再次掛載根文件系統,添加Modes “800x480”(僅僅是我添加的模式,不知是否支持其他)。總算見到畫面了,也許是費了些周折的緣故吧,覺得Moblin的界面還是很漂亮的。
使用同樣的方法,可以用Qemu對其他Platform進行仿真(沒有一一驗證,測試過netbook-lpia-moblin2)。之所以選擇Python,首先,易于移植,Python解釋器把源代碼轉換成字節碼,然后再把它翻譯成機器語言并運行,不需要擔心如何編譯程序。
如何連接到正確的庫等等,只需要把Python腳本語言拷貝到目標機上,它就可以工作了;其次,最近一直在寫Python。覺得它可以快速地把想法變成現實,就懶得用C了;***呢,Python是一種極其流行的解釋性語言,我們可以看到在Gnome Mobile的原型中也保留了Python的編程接口。