無痛入門: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' 前,應該可以透過這個環境,提供一個輕鬆的入門環境。

Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue

您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw