Saturday 9 January 2010

First Experience with Maemo

Nokia N900 已經在外國推出了,但似乎沒有強勁的宣傳,反倒有朋友向我查問 Nexus One(HTC Android)。不過暫時沒有可能接觸到 Android,反而 Maemo 的機會更高,所以我在屋企的 iMac 安裝了 Maemo SDK,看看它到底是個怎樣巴閉的系統。

安裝 Ubuntu(VM 方法)
1. 安裝 Sun Micro 的 VirtualBox VM (3.1.2 r56127)。
2. 安裝 Ubuntu (9.10),最好預留 1GB RAM。
3. 安裝 Guest Additions。若剛升級舊版的 VirtualBox,最好關掉再開,因為舊版的 Guest Additions 不支持 Linux。Guest Additions 版本正確,便會看到這個 dialog:

在 Terminal 裡以 root 執行(sudo即是 superuser do)
$ sudo ./VBoxlinuxAddition-x86.run
4. 重新啟動。

順帶一提,我是 Ubuntu/Linux 初哥。以前大學用 Unix 的技巧都忘了,平日也甚少使用 Linux/Ubuntu。

安裝 Maemo SDK
5. 下載 Maemo 5 SDK,官網這裡,直接下載這裡。最簡單的方法,是只下載 GUI Installer。
6. Right click "maemo-sdk-install-wizard_5.0.py",選擇 Permissions,勾選 Allow executing file as program,按 Close。
7. 在 Terminal 裡以 root 執行
$ sudo ./Downloads/maemo-sdk-install-wizard_5.0.py
8. 按指示完成安裝。
9. Double click 桌面上的 Maemo5 SDK。
可以好好玩一下這個(很慢)的 Maemo 系統


Programming on Maemo
玩完這個 emulator 可以正式試試 programming。可以按這個官網做些測試(這裡)。
$ lsmod | grep binfmt
$ dpkg -l | grep xephyr
這兩個測試成功後,login scratchbox
$ /scratchbox/login
helloworld.c 的測試應該問題不大。唯獨是 GUI Hello World gtk_helloworld-1.c 就麻煩點。我執行 $ pkg-config --list-all | sort 卻沒有找到 gtk+-2.0
$ dpkg-query -S gtk+-2.0
dpkg: *gtk+-2.0* not found.
$ dpkg-query -S libgtk2.0-dev
dpkg: *libgtk2.0-dev* not found.
即是說,Ubuntu 9.10 本身並沒有安裝 GTK+,需要人手安裝:
[sbox-FREMANTLE_X86: ~] > sudo apt-get install libgtk2.0-dev
再次執行 pkg-config --list-all | sort 便找到 gtk+-2.0 了。
再 compile,但今次指令有所不同:

[sbox-FREMANTLE_X86: ~] > gcc -Wall -g gtk_helloworld-1.c `pkg-config --cflags gtk+-2.0` -o gtk_helloworld-1
注意,那個不是 single quote,又不是 double quote,是 backticks,是 "1" 鍵旁那個鍵。

按指示完成所有 compile 後,在執行 ./gtk_helloworld-1 之前,請先打開 Maemo SDK(從桌面雙擊 Maemo5 SDK,我試過 Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb & 但不work)。玩完這個很齋的 Hello World 之後,按 Ctrl+C 關閉。

就這樣,Documentation/Maemo 5 Developer Guide/Development Environment/Maemo SDK 便完成了。

No comments: