將Linux移植到蘋果公司(以下簡稱“蘋果”)最新的M1芯片上是極客與黑客的圣杯之一。但出人意料而又情理之中的是,率先達(dá)成此任務(wù)的是近年來遭到蘋果公司起訴陷入困境的iOS仿真軟件開發(fā)商Corellium。
繼上周末透露Linux移植M1芯片取得初步成功后,昨天,Corellium創(chuàng)始人兼首席技術(shù)官克里斯·韋德(Chris Wade)在推特上宣布成功將Linux(pongoOS,一種針對(duì)蘋果Silicon芯片架構(gòu)優(yōu)化的Linux版本)移植到蘋果M1芯片上(搭載M1芯片的Mac mini已經(jīng)通過測(cè)試),并且完全可用(支持USB、DART等等)。
由于尚不支持PCIE等標(biāo)準(zhǔn),新版本無法利用M1的圖形處理芯片,但是最新發(fā)布的版本已經(jīng)比1月15日發(fā)行的版本更具通用性和可用性,進(jìn)步顯而易見。但與基于Intel的舊版Mac上使用Linux相比,“M1原生”Linux還有很多需要改進(jìn)的地方。(編者:如果你需要在M1芯片電腦上完整使用Linux功能,那么目前最佳方式是使用開源QEMU仿真器和虛擬機(jī)。)
沒有人比我們更懂蘋果
Corellium由克里斯·韋德(ChrisWade)和阿曼達(dá)·戈頓(AmandaGorton)夫婦于2017年聯(lián)手創(chuàng)立,其服務(wù)已被證明是研究人員的福音——提供“適用于任何版本”的iOS越獄功能。在安全研究界被視為一大突破,因?yàn)樵摴鹃_發(fā)的軟件能讓用戶在臺(tái)式機(jī)上運(yùn)行“虛擬”iPhone。
Corellium軟件不使用實(shí)體iPhone來對(duì)蘋果iOS移動(dòng)操作系統(tǒng)進(jìn)行分析,而是簡化了這一過程,這也使Corellium成為安全研究人員發(fā)現(xiàn)蘋果產(chǎn)品安全漏洞的熱門工具。
但是2019年8月蘋果公司高舉版權(quán)大棒對(duì)越獄行為的“嚴(yán)打”,對(duì)Corellium發(fā)起訴訟并波及其客戶,以及相關(guān)安全研究人員、越獄者以及應(yīng)用開發(fā)人員。但蘋果最終敗訴。12月30日,美國佛羅里達(dá)州的一名聯(lián)邦法官駁回了蘋果公司對(duì)Corellium版權(quán)侵犯指控。
而Corellium率先將Linux移植到蘋果公司引以為傲的M1芯片,距離蘋果敗訴僅僅過去三周時(shí)間,再一次證明自己是“更懂蘋果”的公司。
有了這樣的經(jīng)驗(yàn),因此看到Corellium在上周末將Linux移植到Apple的M1芯片上就不足為奇了。
對(duì)于向M1移植Linux的動(dòng)機(jī),Wade接受媒體采訪時(shí)指出,Corellium渴望將其專業(yè)知識(shí)用于移植工作,“我們對(duì)Apple SOC有著無與倫比的理解,以前我們依靠它將Android移植到iPhone,而且我們已經(jīng)為iPhone12虛擬設(shè)備建模了A14芯片,因此我們希望將這些知識(shí)分享給大家,使社區(qū)能夠在新的M1系統(tǒng)上運(yùn)行Linux?!?/p>
M1不需要越獄
雖然很多Linux愛好者期待更加流行的Linux版本登陸M1芯片,但是Wade對(duì)Asahi Linux的pongoOS情有獨(dú)鐘:“我們非常感謝PongoOS和Asahi的工程師的合作,我們希望我們的貢獻(xiàn)能幫助Asahi Linux更快地實(shí)現(xiàn)。我們計(jì)劃在今天發(fā)布該源代碼,并提供一個(gè)工作版本——SMP和USB支持的Linux版本,我們將提交上游審查?!?/p>
Corellium與PongoOS聯(lián)手破局,標(biāo)志著M1上的Linux,甚至ARM上的Linux邁出了重要的一步。
與蘋果的移動(dòng)芯片的封閉世界不同,馬丁補(bǔ)充說:“M1是一個(gè)開放系統(tǒng),允許用戶在主CPU核心群集上以所有特權(quán)級(jí)別運(yùn)行自己的代碼?!币虼?,不需要“越獄”或類似的技術(shù)。
但是,在需要一些逆向工程(例如M1 GPU)的情況下,馬丁解釋說,第三方必須遵循“無塵室”方法,其中貢獻(xiàn)者負(fù)責(zé)編寫文檔,然后由其他人來實(shí)現(xiàn)。
對(duì)于版權(quán)和開源許可證的政策,Chris Wade表示:“Corellium的所有面向M1的Linux代碼將遵循Asahi Linux版權(quán)政策,并都將在相應(yīng)的開源許可證下發(fā)布,我們正在積極尋求將其上游移植到Linux中的方法。我們的代碼完全符合GPL?!睈酆谜呖梢栽贕itHub(https://github.com/Corellium)上找到它。