嵌入式Linux系統(tǒng) Lablin
大家對Google的Android和Intel的Moblin一定不會陌生,MaxWit Linux與其類似,也是一個基于Linux的嵌入式操作系統(tǒng),該項目由MaxWit開放實驗室于2008年1月正式啟動,現(xiàn)階段主要面向嵌入式系統(tǒng)。MaxWit Linux提供了一個完整的軟件棧。雖然,MaxWit Linux本身是個完整的嵌入式系統(tǒng),但其目的不是把自己打造成一個除Android或Moblin之外的另一個嵌入式操作系統(tǒng),而是借助這個平臺力所能及地幫助個人或企業(yè)學(xué)習(xí)和研究嵌入式Linux系統(tǒng),覆蓋包括從低端的系統(tǒng)移植到較高端的圖形引擎優(yōu)化、從底層驅(qū)動到上層應(yīng)用開發(fā)等多個層面。
如果你是個高手,歡迎參與進(jìn)來一起研發(fā),把你的成果和經(jīng)驗分享給他人;如果你是個初學(xué)者,相信你會在這里學(xué)到不少東西。在這里,我們可以學(xué)習(xí)(初學(xué)者)或開發(fā)(有經(jīng)驗者)如下一系列技術(shù):
完整嵌入式開發(fā)環(huán)境搭建。如設(shè)置TFTP、NFS等網(wǎng)絡(luò)服務(wù)器,SVN(或其他工具)管理代碼,安裝Windows虛擬機(jī)等等細(xì)節(jié),更重要的是,如何使用標(biāo)準(zhǔn)源碼,從頭到尾,自己打造一個最新的Cross Toolchain,比如支持NPTL和EABI的gcc-4.4 + glibc-2.9/uClibc-0.30!
移植、開發(fā)bootloader,包括g-bios和u-boot等。這個過程雖然不難,但我們可以借bootloader更輕松更細(xì)致地研究X86、ARM等體系結(jié)構(gòu)。
移植、開發(fā)Linux kernel,這部分可易可難,試想在一個內(nèi)核不支持的全新的板子上跑起Linux及所有的驅(qū)動,這個工作量也不少。
創(chuàng)建ramdisk和rootfs。這個基本上是個手工活,但也必不可少。
移植、優(yōu)化或開發(fā)Lib,包括:音視解碼器、GUI庫、OpenGL、多媒體、SQLite、WebKit等。
移植、優(yōu)化或開發(fā)Java VM,支持Java開發(fā)也非常重要。
移植、優(yōu)化或開發(fā)Application,包括:設(shè)備管理工具、媒體播放器、窗口管理器、游戲(當(dāng)然,不是貪吃蛇)、瀏覽器、即時通訊工具、嵌入式數(shù)據(jù)庫、辦公軟件等。
看到這里,有些朋友也許會說:唉,不就是個移植過程嘛!其實不然,你會發(fā)MaxWit Linux涉及的范圍很廣,不是簡單的移植工作,事實上,多數(shù)時間是在從事研發(fā)。
在這里,我們可以一起來分析和改進(jìn)Linux內(nèi)核的新特性,一起調(diào)試驅(qū)動,一起來分析libc源碼,一起研究匯編語言/MMU/中斷、QT、嵌入式版GTK+、DirectFB、SDL、TCP/IP協(xié)議棧的實現(xiàn),等等。
評論