www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]Raspbian:世界上“最小的”操作系統(tǒng)是怎樣煉成的?

當你花35美元買到一部樹莓派(Raspberry Pi)計算機的時候,機器里面是沒有預裝操作系統(tǒng)(OS)的。這個時候你要自己下載一個OS到SD卡,插到樹莓派上重啟完成OS的安裝。這一切看起來很簡便,但你考慮過這個跟樹莓派兼容的OS是哪里來的嗎?

其實,樹莓派的操作系統(tǒng)Raspbian的來歷可不簡單。它誕生的前提是,每周60個小時的工作量,處理一大堆自建的ARM計算機以及重建19000組Linux軟件包。而這一切,都是由兩名志愿者完成的。他們是:麥克·湯姆森(Mike Thompson)和彼得·格林(Peter Green)。

正像樹莓派機器本身一樣,它的操作系統(tǒng)也是一次意外的成功

適合于樹莓派的OS有很多,盡管如此樹莓派基金會還是要為你指定一個最兼容的來用。當一年前樹莓派誕生的時候,首選的OS是紅帽為ARM處理器特別訂制的Fedora;而幾個月后Fedora就失寵被Raspbian取代。

Raspbian的基礎是Debian操作系統(tǒng)。兩位志愿者針對樹莓派硬件對Debian進行了專門的優(yōu)化和移植。而Raspbian不僅僅是一個OS,它附帶著35000個軟件包以及預編譯的軟件。

Raspbian項目的開展得益于麥克·湯姆森。他曾是Atomz公司的聯(lián)合創(chuàng)始人和CTO,在2005年該公司被WebSideStory收購,湯姆森獲得了450萬美元的分紅。之后他便帶著家人四處旅游。直到一年前,湯姆森決定回歸科技領域再創(chuàng)一番事業(yè),并把目光投向了機器人科學。而樹莓派看起來像是一個不錯的發(fā)展平臺;它價格足夠低廉,體積足夠輕便,特別適合嵌入到其他大的系統(tǒng)中。可惜樹莓派沒有一個針對其浮點單元(Floating-point Unit,又稱浮點運算器)全面優(yōu)化的OS;而浮點單元在機器人技術以及其他需要大量數(shù)學計算的應用中都是至關重要的。

“當我第一次聽說樹莓派的時候,我感到很失望。因為所有適用于該機器的Linux發(fā)行版中,沒有現(xiàn)在樹莓派上具備的浮點單元。”湯姆森說道,“做為一個長期的Debian用戶,我更希望看到Debian(而不是Fedora)運行在樹莓派上。而我也希望看到一個能支持浮點單元的OS”。

Debian系統(tǒng)為ARMv7處理器添加了浮點單元支持,但對于樹莓派使用的ARMv6處理器則沒有。“Debian這時看起來不像是能在樹莓派上運行的系統(tǒng);即便ARMv6處理器具備運行浮點單元的能力,但Debian就是不支持。”湯姆森回憶道,“這樣一來,Debian上成千上萬的軟件包(Software Package)在樹莓派上就沒有了用武之地”。

就好比一個GPU能快速處理圖像編譯工作一樣,“一個浮點單元同樣能進行高速的數(shù)學計算,”湯姆森稱,“它不是一臺計算機必備的附件,但當它運作的時候你就想把它的功能發(fā)揮到最大”?,F(xiàn)在浮點單元是樹莓派片上系統(tǒng)(SoC)Broadcom BCM2835的一部分。

“如果你不讓硬件上的浮點單元發(fā)揮最大計算水平,那么很多的數(shù)學運算都要交給軟件處理。這就延長了樹莓派執(zhí)行任務的時間。這在機器人技術很重要,因為要處理來自像是攝像頭、傳感以及馬達等設備的數(shù)據(jù),并進行復雜的數(shù)學運算,以控制精度和速度。”湯姆森說道。同時浮點單元的計算能力對于多媒體數(shù)據(jù)處理也很重要,比如解碼音樂文件和進行物理模擬,或者是“任何需要大量計算的操作”。

一次富有成效的合作

擺在湯姆森面前的路十分清晰:重建Debian系統(tǒng),以讓其能在樹莓派上運行。但這需要從Debian上移植19000組軟件包至Raspbian上,工作量十分龐大。

為此,湯姆森在樹莓派論壇開設了一個帖子,召集對于將Debian移植到樹莓派感興趣的人。而這個帖子引起了彼得·格林的注意。彼得·格林是一個Debian系統(tǒng)開發(fā)者,英國的PhD,同時也是論壇中的“plugwash”(他的ID)。

“我覺得我是在論壇中討論將Debian變成Raspbian的人中,唯一一具備足夠的Debian知識、能讓項目成功的人。”格林說道,“我想其他Debian開發(fā)者如果足夠執(zhí)著和瘋狂,他們也能完成Raspbian這項工作”。

當湯姆森和格林開始Raspbian項目的時候,樹莓派的機器其實還沒有成型。即便成型、量產(chǎn)了,也未必有足夠的時間去重建Debian系統(tǒng)。為此,湯姆森用8個飛思卡爾iMX53快速啟動主板,每個配備1G內存和1GHz ARMv7處理器,以及SATA硬盤組建了一臺試驗機。這臺機器花費了湯姆森近3000美元,不過好來通過募捐填補了這部分花銷。除了這套單片機ARM系統(tǒng)外,還有一臺Linux PC用來當服務器,作為Raspbian的存儲庫(Repository )。這臺服務器從Debian的存儲庫中檢索資源包,為飛思卡爾系統(tǒng)分配任務,并收集二進制軟件包。“重建好的軟件包都被放在存儲庫中,然后同步到www.raspbian.org服務器上的外部存儲庫中,供用戶抽取軟件包”。湯姆森解釋道。

起初,湯姆森采用了基于ARM的惠普Media Vault MV5150 來當軟件存儲庫,但后來當存儲需求上升時便升級到了基于英特爾的系統(tǒng)。盡管每塊飛思卡爾主板都有自己的硬盤用來存儲構建中的軟件包,但是主要的存儲任務還是交給了服務器上的500G硬盤來處理(目前已用完2/3的空間了)。下圖是湯姆森組建的這臺試驗機。

當然,湯姆森和格林并非是從零開始。Debian已經(jīng)成為了應用范圍很廣的Linux OS,它對ARMv7的支持為研發(fā)工作提供了一個堅實的基礎。“我們充分利用了Debian項目組之前在ARMv7上運行浮點單元所得到的成果。”湯姆森說道,“除了要重建19000組軟件包以外,其實對于在樹莓派上運行Debian的工程,Debian項目組已經(jīng)完成了95%”。當然這并不是說湯姆森和格林把ARMv6及浮點單元帶到Debian上是徒勞無功的。對此,湯姆森解釋道:[!--empirenews.page--]

Debian系統(tǒng)中的編譯器有內置的默認設置。這些默認設置設定了CPU單元、CPU最低需求以及應用二進制界面(ABI)等。而大部分軟件包并不受這些設定控制。我們在ARMv6上對編譯包進行了改良,減少了默認設置的數(shù)量。

大部分的原始工作都是人工的,不過格林最終創(chuàng)建了一個自動構建器軟件來完成所有的軟件包構建工作。這個基于Chroot環(huán)境的構建器至今仍在運行,它能及時地把Debian存儲庫中的新軟件包自動轉譯到Raspbian中。同時,這些自動構建器還能監(jiān)測到各種阻礙自動轉譯程序的問題。2012年4月20日,Raspbian的限制版開放下載,只包含了5%的Debian軟件包。

重建19000個軟件包

Debian ARM版中有36000個軟件包需要進行移植。幸運的是,有17000個不包含任何可執(zhí)行代碼,因此直接轉移到Raspbian上即可。這些軟件包包括諸如幫助文件、說明書、軟件包文檔、字體等不可執(zhí)行的東西。而其余19000個軟件包則包含可執(zhí)行代碼,龐大的工作量直到去年6月初才全部完成。對于湯姆森來說,這簡直就是3個月的全職工作,“有幾周我的工作時間達到了60至80個小時”。

湯姆森估計約有5%的Debian軟件包無法成功地通過自動構建器進行編譯。這意味著他和格林要手動改寫任何專門為ARMv7設計的代碼,并將其重建以適應ARMv6處理器。此外,大約有50至100個軟件包是壓根不能轉譯的。“這些軟件包是諸如調試器等專門給ARMv7處理器設計的東西。有一些甚至在樹莓派上根本沒有存在的意義。”湯姆森解釋道。

Raspbian的用戶界面其實是可有可無的。由于樹莓派主要用于編程教學,它的默認用戶界面包含了一個Python開發(fā)環(huán)境。下圖是Raspbian的默認界面。


Raspbian取代了Fedora——而且還會繼續(xù)改進

上文提到過,樹莓派起初采用的是一款基于ARM的Fedora OS。然而Fedora對內存的需求成了絆腳石——樹莓派的初版只有256M內容(現(xiàn)在新版的有512M內存)。樹莓派的創(chuàng)始人Eben Upton表示,他們在2012年5月份放棄了Fedora,然后又向用戶推薦Debian系統(tǒng),“當Raspbian在8月份誕生時又轉而推薦這款OS”。

較小的內存占用、易用性以及對浮點單元的支持成為了Raspbian制勝的關鍵因素。目前針對樹莓派的Fedora系統(tǒng)仍然在研發(fā)中,不過樹莓派官方的下載頁面只推薦了Raspbian、Arch Linux ARM和RISC OS。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉