作者:孟憲寧 胡杰 青島職業技術學院 時間:2009-10 來源:電子產品世界 3C(計算機、通信和消費電子產品)終端設備的融合是客觀趨勢,Linux在上網本中已經占據30%左右的市場份額,并且有積蓄增加的趨勢。Moblin是Intel公司針對采用Atom處理器的上網本(Netbook)和移動互聯網設備(MID)開發的客戶端Linux軟件平臺。Moblin計劃為Intel Atom處理器為核心的上網本和移動互聯網設備提供了強大而廉價的操作系統,采用該平臺將使移動設備的圖形處理性能和電池續航能力得到大幅提升。該平臺不僅能夠應用到MID和Netbook上,而且還可以擴展到車載移動設備和醫療電子設備中,Moblin針對Linux核心進行了一些改進,對移動設備所需的網絡聯通性能進行擴展,甚至能夠支持最新的3G技術。Linux發行商、MID和Notebook生產商通過和Intel的合作,分擔不同的工作,創建不同的Moblin衍生版本將Moblin組件整合進各自的移動平臺。Moblin框架對微軟公司的Windows、谷歌公司的Android提出了挑戰,為開發商提供了基于Linux平臺構建移動應用開發的另一個選擇。 Moblin平臺技術概要 Moblin結構支持多種平臺和用例模型,可廣泛用于從上網本(Netbook)移動互聯網設備等多種嵌入式設備,例如車載信息娛樂系統。該結構的核心部件是Moblin核心的公共層,它是用于提供一種統一方式開發這些設備硬件或用例模型的獨立層。在Moblin核心以下,設有面向硬件平臺的Linux內核和設備驅動。Moblin核心以上是目標設備特定的用戶接口和用戶交互模型。Moblin核心提供了許多開源庫和應用程序服務,用于從高級功能模塊快速建立特定的設備應用。Moblin系統結構如圖1所示。 ![]() Moblin 2.0核心堆棧在以下幾個方面進行了改進。 ●電源管理部分針對MID和Netbook便于攜帶且能夠長時間使用的需求,做了大量的優化,使電池續航能力得到很大提高。 ●為滿足隨時隨地獲取互聯網服務的需求,Moblin系統針對MID、Netbook和車載移動設備所需求的網絡連通性能進行了擴展,對有線、WiFi、藍牙、WinMax等采用同一的網絡聯線管理。能夠支持最新的3G技術,Telephony接口支持多個3G語音堆棧,集成了VoIP。 ●驅動進行了更新,增加了各種移動設備所需要的驅動程序。 ●應用程序框架重新設計。Moblin 2.0核心堆棧放棄了前一版本所使用的Hildon應用程序框架,主屏幕設計和應用程序圖形界面設計有了更大的靈活性。可以以Flash AIR平臺為基礎設計用戶界面,也可以直接以HTML文件作為操作系統主屏幕或者應用程序圖形界面。 ●采用基于Clutter的帶3D物理效果的優化應用界面框架。Clutter基于OpenGL,更容易創造出絢麗的特效,并且支持與GTK進行互操作。 ●Moblin 2.0提供了全套的開發工具。主要的部件有Moblin影像創建者、Linux項目生成器等。Moblin影像創建這是指可以創建MID和Netbook等多種平臺上的Moblin影像的工具Mobile Image Creator(MIC),MIC能夠在USB驅動器、光盤等設備中創建一個帶有平臺特定的、完整的目標文件系統的活動影像和安裝影像;Linux項目生成器為項目生成一個模板或者示例文件,并且預置一些編譯參數。 構建Moblin影像文件 在Ubuntu或者Fedora上構建一個可以在MID、Netbook等移動平臺上運行的Moblin影像文件并不復雜,使用MIC(Moblin Image Creater)工具可以創建直接從USB或者光盤上直接運行的Moblin影像文件,也可以創建可以在虛擬機運行的Moblin影像文件。 ![]() 安裝MIC (1)執行如下命令檢查運行MIC所需的git、automake、dh-make、python等工具是否已經安裝: # yum install git automake autoconf make intltool python debootstrap kvm qemu gettext-devel gettext-libs (2)安裝MIC 運行如下命令安裝moblin-image-creator: # rpm –ihv Moblin-image-creator--.fc9.noarch.rpm 創建影像文件 以安裝在/usr/share/mic2目錄下的netbook-core.ks為基礎來創建不同的Moblin影像文件,例如執行如下命令可從創建從USB啟動的Moblin影像: # sudo moblin-image-creator –config=netbook-core.ks –format=liveusb –cache=mycache 該命令將生成moblin-netbook-core-XX.usbimg文件,執行如下命令將生成的影像文件寫入U盤: # sudo dd if=moblin-netbook-core-XX.usbimg of=/dev/sdb 執行moblin-image-creator命令時,通過指定不同的format參數,即可生成不同格式的影像文件,例如將format參數指定為vmdk,即可生成可以在VMware虛擬機環境中運行的Moblin影像,圖3即為在VMware虛擬機環境中運行的Moblin系統。 ![]() 開發Moblin應用程序 開發Moblin應用程序的方式主要有兩種,一是在Linux主機上開發Moblin應用程序,在目標機上進行驗證和調試;二是在Netbook或者虛擬機環境中直接開發Moblin應用程序。這兩種開發方式的優劣如表1所示。 ![]() 在Moblin 2環境中開發一個Clutter應用的基本步驟如下: 配置標準的Linux開發環境 (1)安裝gcc,g++,make,man,autoconf,automake等Linux開發工具: $ sudo yum install gcc-c++ make man autoconf auto,ake libtool git gtk-doc gettext emacs。 (2)安裝Clutter庫 * 檢查可以使用的Clutter包:$ yum search clutter。 * 安裝Clutter庫和文檔:$ sudo yum install clutter-devel。 (3)安裝API文檔:$ sudo yum install devhelp。 下載、編譯、運行示例程序 (1)下載示例程序:$ git clone git://git.moblin.org/sample_apps.git (2)編譯示例程序: * $ cd sample_apps * $ ./autogen.sh * $ make * $ sudo make install 示例程序很簡單,也可以通過執行gcc命令直接編譯該程序(src/helloworld.c),得到可執行文件: $ gcc –o helloworld helloworld.c `pkg-config --cflags --libs clutter-0.9` (3)運行示例程序:$ ./src/helloworld,結果如圖3所示。 結語 Intel新推出的基于Atom處理器的Moblin移動計算平臺是經過優化的開源Linux軟件平臺,可以增強MID、Netbook和其他移動互聯網設備的用戶體驗。Moblin成功集結了來自Linux不同平臺之間前端應用、后端開發的資源與力量,有望在Netbook、MID、車載通信與嵌入式系統上找到打破Windows長久以來的封鎖與壟斷的突破點,OEM、OSV、ISV已經圍繞Moblin成功打造出豐富資源及集合能力的Linux產業生態系統。在移動互聯網終端產業中,開放式的Moblin將為國內企業提供更廣闊的發展空間。 參考文獻: [1] 倪光南.發展“上網本”是振興中國信息產業的機遇[J]. Netbook前沿,2009(5) [2] Bspencer.Create a Moblin image for a netbook or MID [R/OL]. http://moblin.org,2008.09.08 [3] 楊繼國.開源移動計算平臺Moblin[R/OL],http://www.esbf.org.cn,2009.06 [4] Moblin Community中文網站. http://moblin.csdn.net [5] Intel Moblin在CSDN的官方博客. http://blog.csdn.net/moblin [6] 陳渝.面向嵌入式領域的開源軟件[R/OL].http://www.esbf.org.cn, 2009.06 |