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