Hello World for OLPC
許多朋友好奇前天的螢幕快照怎麼來的,其實過程並沒有想像中的那麼難。小弟就以作一個Hello World的程式作範例。
在開始之前,先假設你手邊已俱備下列幾個主要的工具:
- QEMU i386 ( OLPC的平台是x86 )
操作步驟如下:
1. 首先取得OLPC的映像檔:按這裡下載
2. 啟動qemu
qemu -redir tcp:2222::22 olpc-redhat-stream-development-devel_ext3.img其中 "-redir tcp:2222::22"的意思是將 QEMU中的OLPC的:22 Port和本機端的:2222 Port接在一起。
3. 取得終端機
進入到OLPC視窗環境後,在OLPC的模擬環境按 “Ctrl-Alt-3”,就會進到console模式(要回到視窗模式請按 “Ctrl-Alt-1” )。接著用root登入(預設沒有密碼),就可以順利取得root console。記得順便設定一下root的密碼。
4. 下一步?
根據官網上的說明,下一步應該就可以直接連線進去,但是實際上卻不行,為什麼呢?因為這時候的OLPC還沒有將網路啟動,需要先設定網路才行。
5. 設定網路
在root console下執行
ifup eth0或是
echo ifup eth0 >> /etc/rc.local設成下次自動啟動
6. 確定啟動sshd
/etc/init.d/sshd start執行到這裡,我們已經有能力可以連線到QEMU中的OLPC了。
7. 連線到OLPC
ssh -X -o NoHostAuthenticationForLocalhost=yes -p 2222 root@localhost其中 "-X" 是設定視窗轉送的參數。(可以執行xterm看看,所產生的視窗會將送到本機端來)。進行到這裡,我們已經有操控整個OLPC系統的能力,可以像使用一般Linux的方式去使用。
8. 如何作一個最簡單的Hello World?
目前OLPC並沒有內建gcc等開發工具。不過uname一下,可以發現OLPC的平台是i686。也就是說,我們可以先在本機端開發好程式,編譯好了再上傳執行即可。
而在OLPC裡的視窗程式執行環境為gtk、pygtk。我們不妨利用現在的pygtk來作為試驗。在這裡我們就直接引用pygtk給的官方範例。
9. 如何上傳?
最直接的方式就是透過scp的方式上傳。
scp -o NoHostAuthenticationForLocalhost=yes -P 2222 ./helloworld.py \ root@localhost:/home/olpc/hello_world.py10. 如何執行:
由於OLPC的XWindow是用olpc這個使用者的身份執行。所以在執行前記得切換成olpc這個使用者
su - olpc之後用視窗轉送的方式來執行
DISPLAY=:0.0 ./helloworld.py就可以看到簡單的Hello World的畫面了
沒有留言:
張貼留言