February 14, 2006

初探 Linux Mobile Phone

因為某種緣故,我不是很想寫這個主題的文章,但在拜讀 [Linux-based Motorola cell phones frustrate third-party developers] 與 [何種Linux Phone?] 兩篇文章後,我覺得該說點話。首先,我對 Motorola 公司是有好感的,特別是其 m68k 更是我第一個學習的硬體架構 (原始設計團隊現於 Freescale),會到現在的公司服務 (手機 ODM),我想某種程度來說,是有關係的 (好吧,您說是「緣份」,我也接受)。[何種Linux Phone?] 很多敘述是相當正確,並以簡要的文字帶過,Motorola 與 Trolltech 兩家公司的合作,的確創造新的契機,2003 年的初試啼聲,也為原本「虛無飄渺」的手機作業系統市場中 "Linux OS" 的項目,造就一份真實性,在此之前,Linux 早已被預測是「未來的主流作業系統」,但 Linux 的確只是 kernel。

如果不談 mobile phone,Linux 應用在消費性通訊器材的計畫,以 [TuxScreen] 作為代表,這個計畫除了建構於 Linux kernel on StrongARM 外,還提供一系列的軟體與韌體,如 toolchain、GUI system、driver、DSP firmware、Applications、... 等,"Open" 的精神在這類的計畫是很重要的訴求,然而許多硬體除了規格取得的困難度外,還得考慮到元件的「可取代性」,無論是技術上抑或非技術議題。以 MMI solution 切入的 Trolltech,如之前 blog [Trolltech Qtopia 大放異彩] 提及,在商業與實務上,證明了 free / open source 模式的可行性,然而這其實只在純粹軟體的範疇生效,光是 GSM/GPRS/CDMA protocol stack 這個項目就是極其深奧的黑盒子。Red Ferret Journal 的文章 [The Tux Phone] 提到 open source community 有些勇敢的 hackers 展開對現有手機產品的研究,也包含前述 protocol stack 的部份,該文有一段相當有意思,引用作參考:
    So they’re going to make a Linux mobile phone. A Tux Phone, if you will. Open source ringtones? Who knows.

    For a programmer, this is a dream come true. Here’s the entire telephone presented to me as a data object. I literally write to and read from a file to run the entire phone if I’m programming in linux. The GM862’s the core of the phone, the thing that actually lets you communicate to the GSM and GPRS networks. They even have one that has an embedded Python interpreter. Seriously slick. But, I want a phone with features to rival my V3. So, I want a fairly powerful controller.
Motorola 接手 Trolltech Qtopia 許多 MMI 的基礎建設,並且著手做了重大的改進,可參考 [Motorola aims new Linux phone UI at replacement market] 報導提到 A910 的設計觀點與突破,未來的變化也會更多元。

儘管許多軟硬體大廠合組了 [Linux Phone Standards Forum (LiPS) ],以制定一系列 Linux-based mobile phone 的功能性需求與參考軟體建設等標準,並且 MontaVista 之前也提出 [Mobilinux],作為完整的 total solution,與 Microsoft 或 Symbian 等公司的系統作區別化:

甚至連 [OSDL (open source development labs)] 也提出 [Mobile Linux Initiative (MLI)],相當有趣的是,當我們比較這幾個檯面上組織與實做,有相當大的 overlapping,並且成員的組合也可說是「各懷鬼胎」,逐步走入百家爭鳴的戰國時代。

除了 [The Rise of Real-time Linux] 這篇描述到 Linux Realtime capability 的改善與實做,現今許多 Embedded Linux devices 也巧妙地融入 resource kernel、nano-kernel,以及 exo-kernel 的嶄新設計 (有意思的是,這些架構在一定程度都視 Linux kernel/application 為 legacy system),以因應更複雜的能源管理機制、高負載的運算量、多元的通訊架構、... 等重大議題,特別在 ARM RISC 上,最近陸續有 software/hardware co-design 的突破,可以想見的是,未來仍充斥著並行發展、開放規格,以及強韌的參考實做 codebase 的概念與原則。

至於 Linux mobile phone 到底會不會成功呢?我無法斷言,但是我已經很明確看到發展的方向與概念,縱使有新秀 killer application 崛起,或許還是會秉持這些原則吧。
由 jserv 發表於 February 14, 2006 12:40 AM
迴響