自從 Apple 推出使用其新的高性能 ARM 芯片的新 Mac 之后,第三方軟件開發(fā)人員就一直不停嘗試,試圖在新硬件上啟動和運(yùn)行可替代的操作系統(tǒng)。上個月初,一些開發(fā)人員在 M1 Mac 上啟動了 Windows 10 和 Fedora Linux 虛擬機(jī),但是這并不算操作系統(tǒng)的替代使用。在開發(fā) M1 Mac 替代操作系統(tǒng)中,獲得最大突破是專門從事 ARM 設(shè)備虛擬機(jī)的公司 Corellium 的團(tuán)隊。該團(tuán)隊設(shè)法移植了 Linux,并使其在 M1 Mac Mini 上 “完全可用”。
新的 Linux 端口使得 Ubuntu 首次在 Apple 的 M1 Macs 運(yùn)行。Corellium 已成功將 Ubuntu 移植到 M1 Macs 上,并發(fā)布了一個教程供其他人遵循。修改后的 Ubuntu 版本啟動后會加載到常規(guī)用戶界面中,并包括 USB 支持。
盡管 M1 芯片和 Apple 的其他芯片共享著很多組件,但它是非標(biāo)準(zhǔn)化的,因此創(chuàng)建 Linux 驅(qū)動程序以確保 Ubuntu 正常運(yùn)行并不容易。
蘋果公司在設(shè)計 M1 Mac 時并未考慮到雙系統(tǒng)或替代系統(tǒng)。蘋果公司軟件工程高級副總裁 Craig Federighi 此前曾指出官方無意支持以本地方式啟動其他操作系統(tǒng),例如 Windows 或 Linux。虛擬機(jī)看似是蘋果公司建議用戶使用其它操作系統(tǒng)的唯一方法,但這并沒有阻止人們創(chuàng)建自己的端口。
Hector Martin 是一個常常將 Linux 在各種硬件上運(yùn)行的開發(fā)人員,他也正試圖將 Linux 移植到 M1 Macs 上。這些開發(fā)人員大多被蘋果 M1 芯片提供的性能優(yōu)勢吸引,在基于 ARM 的 MAC 上運(yùn)行 Linux 想必是無聲的。“可以運(yùn)行 Linux 的 ARM 筆記本電腦已經(jīng)讓我期待很久了,” Linux 創(chuàng)造者 Linus Torvalds 在 11 月表示,“除了操作系統(tǒng)外,新版的蘋果 Air 幾乎是完美的?!?/p>
Corellium 發(fā)文
Corellium 首席技術(shù)辦公室 Chris Wade 昨天在 Twitter 上宣布了團(tuán)隊工作的最新進(jìn)展。他在博客上寫道:“研究蘋果 M1,不僅是為了創(chuàng)造新的 Linux 端口,這也是我們安全研究的一部分。”
該博客文章提供了 Corellium 在此過程中克服的諸多障礙,包括處理 Apple 的 SoC 是如何創(chuàng)建更多 CPU 內(nèi)核的,處理 Apple 專有的中斷控制器等等。除此之外,Corellium 還添加了預(yù)加載器,該預(yù)加載器充當(dāng) Linux 的包裝程序,并作為啟動處理器內(nèi)核的緩沖。
這篇文章包括在 M1 Mac 上安裝 Ubuntu 的教程,還有一個 Github 存儲庫(corellium /linux-m1),用戶可以從中下載。按照這些步驟操作,用戶最終可以直接從 USB 啟動操作系統(tǒng)。但是,目前距離 Boot Camp 風(fēng)格的雙系統(tǒng)還有很長的路要走。即使 Corellium 團(tuán)隊已經(jīng)公布了教程,但其所需的步驟仍比大多數(shù)用戶想像的更為復(fù)雜,所以不建議普通用戶把它作為日常驅(qū)動程序。
“這個新端口在 Mac Mini M1 上 “完全可用”,并且可以通過 USB 啟動完整的 Ubuntu 桌面?!盋orellium 的首席技術(shù)官 Chris Wade 稱,“但是,用戶將需要一個 USB-C 加密狗才能使網(wǎng)絡(luò)正常工作,并且運(yùn)行端口需要對 Linux 和自定義內(nèi)核有所了解。Corellium 近期會發(fā)布有關(guān)該過程的教程?!?/p>
技術(shù)細(xì)節(jié)
Corellium 團(tuán)隊表示,蘋果不使用傳統(tǒng)方式來啟動其 CPU。首先,它引導(dǎo)加載程序運(yùn)行一種名為 Mach 目標(biāo)文件格式(Mach-O)的可執(zhí)行文件,該可執(zhí)行文件以名為 IMG4 的簽名包裝器格式進(jìn)行包裝。隨著啟動更多 CPU 內(nèi)核,情況變得更加復(fù)雜,它們將從內(nèi)存映射 I / O(MMIO)寄存器指定的地址開始運(yùn)行內(nèi)核。
蘋果公司設(shè)計了自己的控制器,該控制器超出了通常的 ARM 通用中斷控制器(GIC)標(biāo)準(zhǔn)。定時器中斷被導(dǎo)向快速中斷請求(FIQ),這不是標(biāo)準(zhǔn)化程序,反映了較舊的 32 位 ARM 系統(tǒng)。Corellium 團(tuán)隊稱,必須提供一組處理器間中斷(IPI)才能使多個處理器進(jìn)行通信。
Corellium 團(tuán)隊具有處理 FIQ 支持的經(jīng)驗(yàn),并早已為 Apple 的大多數(shù)非標(biāo)準(zhǔn)方法做好了準(zhǔn)備。它的處理方法之一是,添加一個預(yù)加載程序,充當(dāng) Linux 的包裝程序,從而導(dǎo)致 OS 在 M1 處理器上啟動。
該小組沒有用于 M1 Mac 的接口,因此不得不尋找替代輸入路線。在藍(lán)牙、USB 主機(jī)和 PCIe 上的 xHCI USB 主機(jī)中,他們選擇了 USB 主機(jī)并與 I2C 上的芯片進(jìn)行交互。
建立正確的 USB 連接后,他們可以連接鍵盤,鼠標(biāo)和閃存驅(qū)動器。這為運(yùn)行正常的桌面 Linux 發(fā)行版提供了可能性。
團(tuán)隊經(jīng)驗(yàn)
Corellium 在解決 Apple 操作系統(tǒng)保護(hù)方面有一些經(jīng)驗(yàn)。此前它為安全研究人員提供了虛擬 iPhone,以幫助進(jìn)行漏洞探索。這一舉動激怒了蘋果,使得它于 2019 年 8 月以版權(quán)為由向 Corellium 提起訴訟。蘋果后來在 2020 年 1 月指控 Corellium 違反了數(shù)字千年版權(quán)法案(DMCA),而法官在 12 月駁回了其侵犯版權(quán)的控告。關(guān)于其他數(shù)字千年版權(quán)法案指控的裁決已被推遲。
Corellium 此次利用其開發(fā) Sandcastle 項目的經(jīng)驗(yàn),編寫用于新 Apple SoC 的 Linux 驅(qū)動程序。幸運(yùn)的是,Apple 正式允許在 Apple Silicon Macs 上引導(dǎo)自定義內(nèi)核,因此替換程序開發(fā)者們無需利用漏洞來導(dǎo)向內(nèi)核。與其他 64 位 ARM SoC 相比,Apple Silicon 的固件接口和啟動過程非常不同。經(jīng)過一些工作,Corellium 團(tuán)隊設(shè)法增加了對足夠硬件接口的支持,從而成功在 M1 Mac Mini 上引導(dǎo) Linux Ubuntu。
安裝教程
用戶可以下載 Corellium 共享的有關(guān)如何啟動 Ubuntu 的說明。關(guān)于此說明,簡單概括,首先需要下載其實(shí)時映像(從用于 Raspberry Pi 的 ARM64 Ubuntu 構(gòu)建中稍作修改),然后將映像復(fù)制到外部 USB 驅(qū)動器(需要至少 16GB 的容量),將 USB 驅(qū)動器連接到 Mac Mini 的 USB-C 端口,啟動進(jìn)入初始操作系統(tǒng)界面,安裝自定義內(nèi)核(Corellium 提供了安裝腳本),最后使用默認(rèn)憑據(jù)登錄。
Corellium 也稱,安裝過程不是很友好,因此不建議初學(xué)者在 Mac Mini 上使用 Linux。此外,M1 的機(jī)器學(xué)習(xí)核心沒有 GPU 加速或支持,因此不要企圖在新系統(tǒng)上玩游戲或運(yùn)行機(jī)器學(xué)習(xí)任務(wù)。但對于 PC 硬件和 Linux 的發(fā)燒友來說,這仍然是個令人振奮的消息。此外,Linux 創(chuàng)造者 Linus Torvalds 也稱,Apple Silicon MacBooks 所提供的性能和電池壽命是首屈一指的,因此它們非常適合進(jìn)行實(shí)時編程。
原文標(biāo)題:Linux“登陸”蘋果產(chǎn)品,M1架構(gòu)Mac電腦已可運(yùn)行Linux系統(tǒng)
文章出處:【微信公眾號:DeepTech深科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
蘋果
+關(guān)注
關(guān)注
61文章
24337瀏覽量
195582 -
Linux
+關(guān)注
關(guān)注
87文章
11212瀏覽量
208722 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6689瀏覽量
123142 -
Mac
+關(guān)注
關(guān)注
0文章
1095瀏覽量
51341
原文標(biāo)題:Linux“登陸”蘋果產(chǎn)品,M1架構(gòu)Mac電腦已可運(yùn)行Linux系統(tǒng)
文章出處:【微信號:deeptechchina,微信公眾號:deeptechchina】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論