<b>3.1.1 非linux選擇</b>
坦誠一點說,由于我們期望做出一些有黑客樂趣的,并且可以用于滲透測試的東西,是以幾乎可以肯定,我們的終極選擇一定是某個linux版本。即便如此,出于完備性的考慮,這裡仍想簡短地介紹一下beagles可用的一些非linux系統方案,并以此證明這些開發闆的超強的通用性。
windows ce
你可能認為無法在一個開放硬體上運作一個專有作業系統,但是在這兒,真的做到了。如我們所知,beagleboard-xm和beaglebone比很多運作windows xp的裝置擁有更強的計算能力,你也許會疑惑為什麼不運作一個完整版本的windows而是windows ce(通常被稱為wince,官方稱謂是windows
embedded compact。)答案是windows ce能夠通過闆級支援包(bps)運作在arm架構的裝置上,而桌面版的windows是不相容arm架構的。adeneo(adeneo embedded)以德州儀器(texas instruments)提供的标準bsp為基礎,建立了beagleboard-xm的bsp(http://www.adeneo-embedded.com/en/products/boardsupport-packages/beagleboard)。根據beagleboard.org網站上的評論,人們更喜歡在beagles上運作一些其他的東西(http://beagleboard.org/project/wince7+bsp+for+beagleboard-xm/)。如圖3.1所示,windows ce運作在使用7寸chipsee液晶屏的beaglebone black上。
qnx
beagle系列開發闆可以運作qnx neutrino 實時作業系統(rtos)(http://www.qnx.com/products/neutrino-rtos/neutrino-rtos.html)。實時作業系統是用于那些系統響應時間确定、響應時間盡可能短的嵌入式裝置的。一個典型的實時作業系統是輕量級的,并且通過對中斷和定時器的支援來與硬體緊密結合。qnx的實時作業系統是一個以微核心設計為特色的系統。這家公司提供了幾個參考設計以展示qnx neutrino(http://www.qnx.com/products/reference-design/ti-reference-design.html)的相容性。圖3.2是運作在beagleboard上的qnx智能節能系統參考設計。
圖3.1 windows ce運作在使用7寸chipsee 圖3.2 運作在beagleboard上的qnx智能
液晶屏的beaglebone black上 節能系統參考設計
freebsd
freebsd是基于伯克利軟體發行版(bsd)的unix。linux則基于system v(sysv)版本unix的,system v是另一個主要的unix分支。這兩種unix系統的差異足以讓使用者郁悶。bsd和sysv有很多一樣的指令,但是指令參數經常是不一緻的。一些安全社群認為bsd系統比sysv系統更安全。如果你是這種說法的支援者的話,很幸運,beagle系列開發闆可以運作freebsd(http://beagleboard.org/project/freebsd/)。圖3.3所示的是一個運作着fressbsd的bealge相容開發闆。
圖3.3 bealge相容開發闆運作的freebsd
starterware
starterware是一種什麼樣的作業系統?從技術角度來講,它根本不算是一個作業系統。對于一些應用來說,一個完整的作業系統是不必要的。脫離作業系統可以讓更多的性能用于應用本身,但這通常是有代價的。你可以想象一個作業系統就像一個漂亮的界面,能夠把你從繁雜醜陋的硬體細節中拯救出來。例如,你可以把一個要存儲的檔案交給作業系統,它會決定使用哪個硬碟扇區,建立一個目錄入口點,并且和硬碟控制器進行通信。德州儀器的starterware提供了一個功能集合庫,這個庫提供諸如usb、圖形、spi、gpio、中斷和網絡支援,省得那些想要開發裸機應用程式的人一切從頭做起。
android
雖然android最初是給行動電話開發的,但現在它也成了一種應用廣泛的嵌入式作業系統。德州儀器為幾個android版本提供了開發工具包(http://www.ti.com/tool/androidsdk-sitara)。circuitco公司在他們的網站上提供了安裝android的教程(http://circuitco.com/support/index.php?title=android)。或許讀者知道,android是基于linux核心的,很多指令在android和linux系統上都可以使用。閑話少說,接下來就讨論那些可以用于beagleboard.org開發闆的、種類繁多的linux系統吧。圖3.4展現了一個配有chipsee觸控屏的beaglebone black運作android的示例。