外媒Android Authority在幾天前撰寫了一篇介紹Fuchsia的文章,其中包含了一個指向編譯指南的鏈接,感興趣的網友可以到那里查看如何構建一個可啟動的系統。
打造Fuchsia的最簡單的方法,就是使用基于64位英特爾平臺的Ubuntu Linux機器(當然也支持在OS X和Debian等其它Linux發行版上編譯)。
如果你對Linux不熟悉,接觸命令行的技能也相對有限,那么這份工作可能并不是很適合。當前Fuchsia主要由兩大部分組成——Magenta內核,以及工具組、庫、程序等。
Magenta是個小內核(LK),所以Fuchsia也是個功能相對有限的小系統。其主要面向嵌入式設備和bootloaders,支持連接諸多外設的驅動、還有一個“用戶模式”。
要構建Fuchsia,你需要注意兩個方面。首先是打造在用戶空間運行所需的工具和庫,包括一個名叫“mxsh”的小型shell程序;其次是構建LK/Magenta。
搞定了上述部分之后,你就可以在一個文件系統上啟動Magenta,然后用上Fuchsia的可執行用戶空間。
想要運行Fuchsia,最簡單的方法是使用熱門開源機器模擬器“qemu”。事實上,Fuchsia的source tree中就已經包含了一個qemu副本。
當你啟動Fuchsia的時候,可以看到很多內核級的調試信息,告訴你與系統啟動相關的各種細節 —— 第一句話是“welcome to lk/MP”,然后是舒適化各個子系統(如線程/計時器)。
再接著是CPU檢測、計劃任務、設備管理器、以及網絡組件部分。引導完成之后,你可以看到一個名叫mxsh的簡單shell程序。
mxsh自帶了一些指令,包括cd(進出目錄)、cp(復制)、echo(打印變量或字符串)、ls(顯示目錄下的文件)和rm(刪除文件或目錄)。
如果鍵入了非shell自帶的指令,那么它會試圖運行 /boot/bin/ 路徑下的同名程序。該路徑下包含了許多不同的可執行文件,大多面向Fuchsia的測試和進一步開發。
以“thread-depth-test”為例,它主要用來測試Fuchsia的現成創建能力。此外還有一些簡單的可執行文件,比如 fortune 和 cowsay 。
當然,Fuchsia最重要的是支持Dart。作為Google自家的腳本語言,其最初意在取代JavaScript)。但隨著不斷的發展,Dart已經是一款成熟的解釋語言(Google甚至將它用到了AdWords系統中)。
Dart有兩種工作方式,要么便以為Javascript(然后通過一個javascript解釋器來運行)、要么直接通過單獨的Dart VM來“解釋”(Fuchsia用的就是后者)。
要在Fuchsia上測試Dart,只需執行 /boot/apps 路徑下的 “hello_fuchsia.dart”—— 輸入“dart /boot/apps/hello_fuchsia.dart”即可。(只會在控制臺上顯示Hello,Fuchsia!)
看到“Hello, Fuchsia!”,意味著Fuchsia已能夠運行復雜的解釋環境和運行腳本,如進程管理、線程管理、內存管理、文件I/O等。(這肯定讓很多人想到了Linux pre v1.0發布的時候)
Fuchsia OS將讓Dart發揮重要的作用,因為當前版本并未包含C編譯器和其它高級語言(比如Java)。
鑒于Google已在Dart上投入了不少,這可能意味著該公司正在打造一款運行Fuchsia的設備、且會通過Dart進行編程。
當然,我們知道Fuchsia并不面向那些只有幾KB內存的嵌入式設備。這可能是一款虛擬現實裝置、家庭自動化產品、或者可以訪問巨大的基礎設施的AI智能設備。
有觀點認為,Fuchsia可能是一款欲與Windows或OS X展開競爭的桌面操作系統,但在小編看來是有些荒謬的,畢竟已有Android和Chrome OS在前。
[編譯自:Android Authority]