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