在搭載 M1 芯片的蘋果設(shè)備上運(yùn)行 Linux 究竟有多難? 作者 | 蘇宓 出品 | CSDN(ID:CSDNnews) 一年前,蘋果震撼發(fā)布專為 Mac 設(shè)計(jì)的首款 Soc 芯片——M1,為自家的軟硬件生態(tài)閉環(huán)奠定了堅(jiān)固的基礎(chǔ),而這一突破性創(chuàng)新也于一時(shí)之間引得無數(shù)開發(fā)者競(jìng)折腰。 不過,對(duì)于蘋果從硬件、到軟件、再到系統(tǒng)這種將整個(gè)生態(tài)鏈握在自家手中的封閉做法,也有不少人認(rèn)為蘋果應(yīng)該再開放一些,以融合更多的生態(tài)。對(duì)此,當(dāng)"如何看待配備 M1 的 MacBook Air"這一問題落到 Linux 之父 Linus Torvalds 手中時(shí),其曾回答道: 非常樂意去擁有一臺(tái),因?yàn)樽约阂苍?11 英寸 MacBook Air 的長(zhǎng)達(dá)十年用戶,但是現(xiàn)在蘋果筆記本對(duì) Linux 兼容已經(jīng)不那么友好了,盡管新的 MacBook Air 幾乎完美無瑕,但 OS 不行。 雖然他等待搭載 ARM 架構(gòu)的筆記本電腦運(yùn)行 Linux 已許久,但是因?yàn)闀r(shí)間、精力等因素,Linus 直言沒空解決 M1 Mac 運(yùn)行 Linux 的問題,且也不想與對(duì) Linux 不感興趣的蘋果公司“作對(duì)”。 由于 M1 Mac 采用了蘋果自研的 GPU 以及相關(guān)設(shè)備,因此想要在該設(shè)備上運(yùn)行 Linux,就必須針對(duì) Linux Kernel 重寫底層支持,這種情況下如果有蘋果的開放支持或許一切都變得簡(jiǎn)單,但當(dāng)前如果也僅是如果,現(xiàn)實(shí)想要在 Mac 上運(yùn)行 Linux,的確很難。不過,即使有一點(diǎn)希望,有開發(fā)者也表示愿意一試。 Asahi Linux(https:///)就是這樣的一個(gè)項(xiàng)目,它是由知名開發(fā)者 Hector Martin 發(fā)起,通過眾籌的支持,這個(gè)項(xiàng)目已經(jīng)持續(xù)了近一年的時(shí)間。 近期,該項(xiàng)目再次傳來一個(gè)好消息——Linux 現(xiàn)在可以在 M1 Mac 上實(shí)現(xiàn)“作為基本桌面”的功能,不過還沒有 GPU 加速。 蘋果 M1 上的原生 Linux 越來越近! 根據(jù) Asahi Linux最新發(fā)布的 9 月份進(jìn)度報(bào)告顯示,最底層的驅(qū)動(dòng)程序已經(jīng)并入了 Linux 內(nèi)核,當(dāng)前已經(jīng)并入 5.16 版本的 Linux 內(nèi)核覆蓋了更多的驅(qū)動(dòng)程序,包括 PCle bindings、PCle 驅(qū)動(dòng)、USB-C PD 驅(qū)動(dòng)。另外,還有 Pinctrl 驅(qū)動(dòng)(蘋果 GPIO 引腳控制)、I2C 驅(qū)動(dòng)、ASC mailbox driver、IOMMU 4K patches、設(shè)備電源管理等部件還在審核中。 “有了這些驅(qū)動(dòng)程序,M1 Mac 實(shí)際上可以用作桌面 Linux 機(jī)器!雖然還沒有 GPU 加速,但 M1 的 CPU 非常強(qiáng)大,以至于在它們上的軟件渲染桌面實(shí)際上比在具有硬件加速的 Rockchip ARM64 機(jī)器上更快?!癆sahi Linux的項(xiàng)目負(fù)責(zé)人 Hector Martin說道。 除此之外,在研究過程中,Asahi Linux 項(xiàng)目團(tuán)隊(duì)發(fā)現(xiàn)蘋果自研的 Soc 與其他 Soc 有著很大的不同,其表示,“在典型的 SoC 上,驅(qū)動(dòng)程序?qū)Φ讓佑布猩钊氲牧私?,并且他們?duì)其精確的布局進(jìn)行硬編碼:多少寄存器、多少引腳、事物如何相互關(guān)聯(lián)等等。這實(shí)際上是大多數(shù) SoC 的要求,因?yàn)橛布鶗?huì)因代而異,因此驅(qū)動(dòng)程序總是需要更改以支持更新的硬件。 然而,Apple 在強(qiáng)調(diào)保持硬件接口在 SoC 各代之間兼容方面是獨(dú)一無二的——M1 中的 UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)硬件可以追溯到最初的 iPhone!這意味著我們處于一個(gè)獨(dú)特的位置,可以嘗試編寫不僅適用于 M1,而且可以在未來的芯片上保持不變的驅(qū)動(dòng)程序。這是 ARM64 世界中一個(gè)非常令人興奮的機(jī)會(huì)。“ 為什么將 Linux 移植到 M1 Mac 這么難? 如今,Asahi Linux 可以在 M1 Mac 上作為一個(gè)基本的 Linux 桌面使用,已是一次不小的突破。 據(jù)外媒報(bào)道,一家專門從事虛擬化解決方案的初創(chuàng)軟件公司 Corellium 曾嘗試將 Linux 移植到基于 M1 的 PC 過程中發(fā)現(xiàn),蘋果公司在構(gòu)建 M1 時(shí)不走尋常路,運(yùn)用了大量的專有技術(shù)。 舉例說明,當(dāng)幾乎所有基于 64 位 Arm 的系統(tǒng)啟動(dòng)時(shí),它們都通過稱為 PSCI 的接口調(diào)用固件,但在 M1 的情況下,CPU 內(nèi)核從 MMIO 寄存器指定的地址開始,然后開始運(yùn)行內(nèi)核。此外,蘋果系統(tǒng)還使用與 Arm 標(biāo)準(zhǔn)不兼容的專有 Apple 中斷控制器 (AIC)。同時(shí),定時(shí)器中斷連接到 FIQ,這是一個(gè)晦澀的架構(gòu)特性,主要用于與 Linux 不兼容的 32 位 Arm 系統(tǒng)。 為了使 M1 驅(qū)動(dòng)的 PC 中的各種處理器相互交互,操作系統(tǒng)必須提供一組處理器間中斷 (Inter-Processor Interrupt,IPI)。以前,IPI 的處理方式與使用 MMIO 訪問 AIC 的傳統(tǒng) IRQ 一樣,但在 M1 的情況下,蘋果公司使用處理器內(nèi)核寄存器來調(diào)度和確認(rèn) IPI,因?yàn)樗鼈円蕾囉?FIQ。 Apple 的奇特之處還不止于此。例如,蘋果公司的 Wi-Fi/藍(lán)牙控制器使用基于 PCIe 的非標(biāo)準(zhǔn)協(xié)議連接到 SoC。更復(fù)雜的是,蘋果的 PCIe 和集成的 Synopsys DWC3 USB 控制器使用該公司專有的輸入-輸出內(nèi)存管理單元 (IOMMU),稱為設(shè)備地址解析表 (DART)。 這意味在沒有官方文檔解析、所屬的硬件平臺(tái)是蘋果公司專有的情況下,Asahi Linux 項(xiàng)目的工程師們想要看透 M1 芯片蘊(yùn)藏的奧秘,必須進(jìn)行大量的逆向工程以及不斷的探索工作,其工作量與難度也非常人想象。 不過,這是否意味著該項(xiàng)目已經(jīng)成功,該團(tuán)隊(duì)表示,“仍需要等待下一代芯片如 M1X/M2 芯片的發(fā)布,以確保他們是否成功制作了足夠的驅(qū)動(dòng)程序向前兼容以在較新的芯片上啟動(dòng) Linux?!?/span> 下一征程——GPU 當(dāng)前 Asahi Linux 雖然實(shí)現(xiàn)了不小的突破,但該團(tuán)隊(duì)也指出,因?yàn)槿鄙衮?qū)動(dòng)程序和完美的設(shè)置,當(dāng)前的 Asahi Linux仍然無法使用 Thunderbolt、網(wǎng)絡(luò)攝像頭、音頻,Wi-Fi 支持也還需要大量的工作。 除此之外,更為關(guān)鍵的是,GPU 加速也是一個(gè)大問題,由于蘋果的專有性,它需要獨(dú)立開發(fā)者們構(gòu)建類似于蘋果自己設(shè)計(jì)的驅(qū)動(dòng)程序。同時(shí),也有一些程序在 M1 SoC 中使用了蘋果專有的硬件單元(GPU、視頻加速等),如果沒有合適的驅(qū)動(dòng)程序,這些應(yīng)用將無法在 Linux 下感知到蘋果處理器帶來的優(yōu)勢(shì)。 截止目前,Asahi Linux 項(xiàng)目仍然還沒有合適的安裝程序,除了社區(qū)之外的用戶無法在基于 Apple Silicon 的系統(tǒng)上體驗(yàn)原生 Linux,但他們也將 GPU 作為下一個(gè)重點(diǎn)突破口。 "一旦我們有了穩(wěn)定的內(nèi)核基礎(chǔ),我們將開始發(fā)布一個(gè)'官方'安裝程序,希望能在'冒險(xiǎn)者'中看到更廣泛的使用。"Hector Martin 說道。 參考:
? 美團(tuán)APP被曝連續(xù)24小時(shí)定位;清華校友吳旻當(dāng)選IEEE SPS首位華裔女主席;VS Code 1.61發(fā)布|西極客頭條 ?是的,諾基亞還“活著”,并推出了新款平板電腦! ?Apple Car 還沒問世,蘋果已先將 iPhone 拉入汽車戰(zhàn)場(chǎng)? |
|