無痛入門:OpenMoko Toolchain

jollen 發表於 May 20, 2007 2:06 PM

接續幾天提到的「Embedded Linux 應用的痛處: OpenEmbedded」。對初入門的使用者或是學生來說,比較好的方法就是儘量提供一個使用簡便的開發環境,才能降低 Embedded Linux 開發的「恐懼感」。

針對 OpenMoko 的開發應用來說,目前我初步提供一個簡單的解決方案,大致概念如下:

- 希望可以 build applications,而不是 build the 'system'。
- OpenMoko framework 本身以原始碼形式提供,因為這是 OpenMoko 的核心,並且我們也會經常修改程式碼。
- OpenMoko 的 architecture 部份,除了 OpenMoko framework 本身外,其它的 library、dependencies library 以及相關的 infrastructure(例如 sysvinit、busybox 等),以 binary 形式提供。
- 如上,可略過 OpenEmbedded 的 build 程序。
- 由此可知,重點在於 toolchain 的建立。

以下大略展示一下此環境的操作。首先,是「OpenMoko-toolchain」的部份:

-rw-r--r-- 1 jollen jollen 119555927 2007-05-17 21:05 openmoko-toolchain-20070517.tar.bz2

這個概念相當簡單:我為大家事先建立了 'openmoko-toolchain',因此,想要在 OpenMoko framework 上發展應用的同學,只需要事先安裝此 toolchain;接著,再將 OpenMoko 本身利用此 toolchain 做編譯(cross-compile)即可。整個過程,能呈現出以往我們所熟悉的「Hello, World!」編譯觀念,對使用者來說,是非常直覺的。

再來,準備好要進行編譯的 OpenMoko framework:

openmoko-toolchain-1.JPG

執行後,先喝杯咖啡,因為需要一點點時間才能完成編譯。

不過,這種方式還有幾個小問題,需要再花點時間解決:

- 利用 openmoko-toolchain 來編譯 OpenMoko framework,犧牲了許多彈性。
- 後續最重要的 deploy 工作,需要一個自動化的 script,由 openmok-toolchain 將大量的 library 佈署至 root filesystem。

以下是編譯完成的 'libmokoui':

openmoko-toolchain-2.JPG


提供 openmoko-toolchain 的目的是希望能打造一個「無痛入門」的環境;在 OpenEmbedded 提供 'OpenMoko Distribution' 前,應該可以透過這個環境,提供一個輕鬆的入門環境。

讀者留言 (0)

留言功能維護中。將於近日重新開放。

連絡作者

Jollen Chen,Moko365(仕橙3G教室)講師,熱愛研究 Linux 與 Android 技術。曾為 Motorola、HTC、Foxconn、LG、OPPO、騰迅、廣達電腦、緯創、仁寶等超過 50 家企業講授課程。目前在 MokoVersity 擔任軟體工程師,撰寫 Node.js 程式,也在幾家科技廠兼任 Android Framework 研發顧問。您可透過電子郵件 <jollen (at) jollen (dot) org> 或這裡與我連絡。