飛思卡爾開發板和ARM架構的惠普服務器
湯普森和格林的工作并未從零開始。Debian已經是開源社區最為著名的Linux操作系統之一,其ARMv7移植為Raspbian的誕生打下了堅固的基礎。
”我們極大地利用了Debian項目此前在支持ARMv7設備的浮點運算硬件時所作的工作,“湯普森說。”我們并非真的開發出了1.9萬個軟件包,95%的移植工作事實上已經由Debian完成了。“
然而,這并不是說,湯普森和格林將Debian移植到ARMv6及其浮點運算單元的工作輕而易舉。
格倫解釋道,“在Debian系統中,編譯器內置了一定的默認設置。這些默認設置決定了CPU系列、最低CPU要求,以及應用二進制接口。絕大多數軟件包都未修改這些設置。我們修改了這些編譯器包,從而將默認設置降低至ARMv6。
對于絕大多數的源軟件包,使用內置新默認設置的編譯器進行重建,就足夠使其運行于ARMv6代碼。”
最初,許多代碼工作都是手工完成的,但格林后來開發出了一款自動編碼軟件,將大部分過程自動化。這些自動編碼軟件至今仍在運行,從Debian存儲庫中獲取更新后的軟件包,然后將其重新自動編譯,以適用于Raspbian。
Raspbian于2012年4月20日以有限的形式放出下載,最初只包括了約5%的Debian軟件包。“這足夠運行root文件系統,并將Raspberry Pi啟動至命令行界面,”湯普森說。
重建1.9萬個軟件包
Debian ARM擁有約3.6萬個需要移植的軟件包。幸運的是,其中1.7萬個并不包含任何可執行代碼,因而可以很快移植到Raspbian上。這包括“幫助文件、人工頁面、軟件包文檔、字體等等不需要執行的內容,”湯普森說。
其他包含可執行代碼的1.9萬個軟件包就是湯普森和格林的主要工作,直到6月初,兩人才將所有這些軟件包重新編譯完成。
對于湯普森來說,這幾乎就是三個月的全職工作。“有幾周時間里,我每周花費60到80個小時在這項工作上,”他說。
在解釋最初遇到的挑戰時,湯普森說,“我們最初遇到的問題是,直到Raspbian項目啟動的幾個月之后,Raspberry Pi硬件仍然沒有上市。不過,還好有一些Raspberry Pi基金會的工作人員幫了我們的忙。他們幫忙測試了我們的測試版系統,確保了我們正在開發的軟件能夠真正運行在Raspberry Pi上。
第二個大問題是,在我學習如何開發Linux發行版時,遇到了陡峭的早期學習曲線。幸運的是,Linux社區尤其是Debian社區非常友好和樂于助人,在我遇到困難的時候,總是能夠得到別人的建議。在皮特加入項目之后,我們的進度快了很多,再加上8臺ARM服務器,我們每天都能修改1000個軟件包。”
一些軟件包尤其麻煩。格林稱,Raspbian系統中Midori瀏覽器所使用的Webkit內核折騰了他們好幾天時間,但最終還是順利完成。
不過絕大多數軟件包都能夠順利通過這個流程。類似于bash一樣的命令行殼大多能夠輕松移植成功,湯普森說,”我們只需下載這個軟件包,重建,然后將其發到存儲庫。“
湯普森估計,大約有5%的Debian軟件包未能成功通過自動編譯流程。這意味著,他和格林不得不手動修改其中專門為ARMv7編寫的代碼,然后重新編譯,以使其運行在ARMv6上。
”編譯器、Java解釋器等任何對架構敏感的東西,都可能會帶來麻煩,“他說。”在大多數情況下,我們能夠對軟件包進行修改,重新打包,然后公布給廣大用戶使用,但還是有部分軟件包由于某些原因無法移植到Raspberry Pi。”
大約只有50個到100個軟件包完全無法移植。“這些軟件包主要是調試器和一些專門為ARMv7處理器開發的應用,其中一些甚至根本就沒有必要移植到Raspberry Pi,”湯普森說。
Raspbian的運行既可以使用圖形用戶界面,也可以不使用圖形界面。由于Pi的主要目標用途是編程教學,其默認界面還包含了Python開發環境。
Raspbian默認的圖形用戶界面
Raspbian取代Fedora
這一切的結果,就是一款對初學者足夠友好同時又讓有經驗的Debian用戶感到熟悉的運行于Raspberry Pi的Debian操作系統。Raspbian和Raspberry Pi的結合激發了全球各地開發者的熱情,催生了大量的創意。“這就是Raspbian的意義所在,完全重建Debian的基礎架構,從而使熟悉Debian的用戶能夠輕而易舉地在Raspberry Pi上下載完整的優化后的代碼,”湯普森說。
如前所述,Raspberry Pi官方最初推薦的操作系統是基于ARM的Fedora系統。然而,Fedora的表現受到了Pi有限的內存的嚴重限制,尤其是最初Pi發布時僅有256M內存。
Raspberry Pi項目創始人、基金會主席厄本·艾普頓表示,該組織從2012年5月開始向用戶推薦Debian操作系統,而在Raspbian于8月份面世之后,該組織轉而開始推薦Raspbian。“
更小的內存占用、簡單易用,以及支持浮點運算硬件,是Raspbian獲得Pi基金會支持的主要原因。Fedora for the Pi如今仍在開發之中,但目前基金會的下載頁面推薦的操作系統只有Raspbian、Arch Linux ARM和RISC OS。
”我很高興能夠看到Raspbian成為Pi官方推薦的操作系統,不過這并非是我發起該項目的初衷,“湯普森說。”Raspbian項目只是我的個人愛好而已。“
這份工作并未結束,至少對于格林來說。服務器集群如今仍然在湯普森的家中運行著,格林則時不時遠程登錄,以更新Raspbian系統。湯普森如今在一家名為OLogic的小型機器人咨詢公司工作,并將Raspbian項目的絕大部分運營工作交給了格林。”過去幾個月基本上都是我在運營Raspbian項目,“格林說。
Raspbian項目聯合創始人皮特·格林
推薦閱讀
C114訊 3月18日下午評論(岳明)讓我們把時鐘撥回到兩年前,為了些許非核心技術,華為和中興在德國、匈牙利等歐洲國家展開了一輪司法訴訟。當時就有業內人士感嘆到,同為民族企業,為了相互搶奪市場,不惜以技術含量極>>>詳細閱讀
本文標題:35美元電腦Raspberry Pi的OS是如何誕生的?
地址:http://m.sdlzkt.com/a/05/20130319/263325.html