0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

M1架構(gòu)Mac電腦已可運(yùn)行Linux系統(tǒng)

hl5C_deeptechch ? 來源:DeepTech深科技 ? 作者:DeepTech深科技 ? 2021-01-27 10:58 ? 次閱讀

自從 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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 蘋果
    +關(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
    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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    X86架構(gòu)處理器有哪些優(yōu)點(diǎn)和缺點(diǎn)

    X86架構(gòu)處理器作為計算機(jī)領(lǐng)域的重要組成部分,具有多個顯著的優(yōu)點(diǎn)和一定的缺點(diǎn)。以下是對X86架構(gòu)處理器優(yōu)缺點(diǎn)的詳細(xì)分析。
    的頭像 發(fā)表于 08-22 11:25 ?1364次閱讀

    X86架構(gòu)和ARM架構(gòu)有什么區(qū)別

    X86架構(gòu)和ARM架構(gòu)是兩種主流的CPU架構(gòu),它們在多個方面存在顯著的差異。以下是對這兩種架構(gòu)的詳細(xì)比較,涵蓋了追求目標(biāo)、應(yīng)用領(lǐng)域、技術(shù)特點(diǎn)、性能功耗比、軟件生態(tài)以及未來趨勢等方面。
    的頭像 發(fā)表于 08-22 11:21 ?7326次閱讀

    探索RISC-V二進(jìn)制翻譯,openKylin成功在SG2042平臺運(yùn)行X86架構(gòu)軟件!

    眾所周知,在新的指令集架構(gòu)發(fā)展初期,往往采用兼容其他架構(gòu)軟件的方法來拓展自身生態(tài)體系,如蘋果公司的Rosetta2和微軟的Arm64EC,都是將X86架構(gòu)軟件運(yùn)行在ARM
    的頭像 發(fā)表于 07-24 08:34 ?416次閱讀
    探索RISC-V二進(jìn)制翻譯,openKylin成功在SG2042平臺<b class='flag-5'>運(yùn)行</b>X86<b class='flag-5'>架構(gòu)</b>軟件!

    ElfBoard技術(shù)貼|如何將libwebsockets庫編譯為x86架構(gòu)

    在之前的文章中,我們已經(jīng)詳細(xì)介紹了如何交叉編譯libwebsockets并將其部署到ELF1開發(fā)板上。然而在調(diào)試階段,發(fā)現(xiàn)將libwebsockets在Ubuntu環(huán)境下編譯為x86架構(gòu)可能更為方便
    的頭像 發(fā)表于 07-10 09:38 ?1142次閱讀
    ElfBoard技術(shù)貼|如何將libwebsockets庫編譯為x86<b class='flag-5'>架構(gòu)</b>

    迅為RK3562核心板四核A53+MaliG52架構(gòu),應(yīng)用于商業(yè)平板電腦,視頻會議,智能家居,教育電子,醫(yī)療設(shè)備,邊緣計算,工業(yè)應(yīng)用

    迅為RK3562核心板四核A53+MaliG52架構(gòu),應(yīng)用于商業(yè)平板電腦,視頻會議,智能家居,教育電子,醫(yī)療設(shè)備,邊緣計算,工業(yè)應(yīng)用
    發(fā)表于 07-09 10:57

    移動端芯片性能提升,Armv9架構(gòu)新升級引發(fā)關(guān)注

    “數(shù)碼博主”5月17日的最新爆料指出,聯(lián)發(fā)科積極推進(jìn)Armv9新一代IP BLACKHAWK“黑鷹”的架構(gòu)設(shè)計,預(yù)計天璣9400芯片將采用這一架構(gòu),有望以“全大核”設(shè)計再度領(lǐng)跑移動SoC CPU性能榜單。
    的頭像 發(fā)表于 05-17 16:51 ?932次閱讀

    網(wǎng)友成功在Arm架構(gòu)平臺運(yùn)行英特爾銳炫A750顯卡

    值得注意的是,英特爾獨(dú)立顯卡源于核心顯卡,因此在長期使用的“i915”Linux系統(tǒng)內(nèi)核驅(qū)動中,積累了許多與x86架構(gòu)緊密相關(guān)的特性。
    的頭像 發(fā)表于 05-13 15:54 ?546次閱讀

    MAC M1的虛擬機(jī)上運(yùn)行ARM版的windows,ST-LINK的驅(qū)動為什么裝不上?

    MAC M1的虛擬機(jī)上運(yùn)行ARM版的windows,ST-LINK的驅(qū)動裝不上
    發(fā)表于 04-01 08:24

    微信Linux原生版在龍架構(gòu)平臺終端成功啟動運(yùn)行

    近日,在騰訊微信團(tuán)隊、龍芯中科與國產(chǎn)操作系統(tǒng)廠商的共同努力下,微信Linux原生版在龍架構(gòu)平臺終端成功啟動運(yùn)行,并在操作系統(tǒng)廠商應(yīng)用商店上
    的頭像 發(fā)表于 03-19 16:32 ?809次閱讀
    微信<b class='flag-5'>Linux</b>原生版在龍<b class='flag-5'>架構(gòu)</b>平臺終端成功啟動<b class='flag-5'>運(yùn)行</b>

    M1芯片和M3芯片相差大嗎

    M1芯片和M3芯片在性能和應(yīng)用上確實(shí)存在一定的差異。
    的頭像 發(fā)表于 03-13 16:41 ?2829次閱讀

    M3芯片與M1芯片的比較

    M3芯片與M1處理器相比,在多個方面表現(xiàn)出顯著優(yōu)勢。首先,M3芯片在架構(gòu)上采用了更先進(jìn)的制程技術(shù),如T8103內(nèi)核和N5P制程,使其具有更高的性能和更低的功耗。
    的頭像 發(fā)表于 03-11 18:20 ?2863次閱讀

    M1芯片和M3芯片的區(qū)別

    M1芯片和M3芯片都是蘋果自家研發(fā)的處理器,它們在性能和設(shè)計上各有特點(diǎn)。
    的頭像 發(fā)表于 03-11 16:37 ?3178次閱讀

    M1、M2和M3芯片是什么意思

    M1M2和M3芯片都是蘋果公司推出的自研處理器芯片,具有不同的特點(diǎn)和發(fā)布時間。
    的頭像 發(fā)表于 03-08 15:51 ?5307次閱讀

    arm架構(gòu)和x86架構(gòu)區(qū)別 linux是x86還是arm

    ARM架構(gòu)和x86架構(gòu)是兩種不同的計算機(jī)處理器架構(gòu),它們在體系結(jié)構(gòu)、指令集、應(yīng)用領(lǐng)域等方面有著明顯的區(qū)別。Linux操作系統(tǒng)則具有廣泛的適配
    的頭像 發(fā)表于 01-30 13:46 ?1.6w次閱讀

    Debian宣布停止i386架構(gòu)支持

    近日,在英國劍橋市舉行的小規(guī)模DebConf活動中,Debian GNU/Linux的發(fā)布團(tuán)隊召開春季會議,探討了未來發(fā)展方向,其中包括停止對i386架構(gòu)的支持。
    的頭像 發(fā)表于 12-19 10:16 ?786次閱讀