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