在上篇中,我們介紹了deepin適配M1的方案選擇以及方案介紹,讓大家了解了我們在適配前的一些思路。本篇中,我們主要讓大家了解一下我們在適配過程中遇到的問題,以及我們如何解決它們的。
適配的三個階段
經(jīng)過我們的探索及實踐,deepin適配M1的過程大致分為以下三個階段:
第一階段:要先能在M1上啟動deepin的基礎環(huán)境,也就是不帶桌面的最小系統(tǒng)。這樣就可以初步驗證適配工作的正確性,同時,方便在實機上進行下一步的適配工作。
第二階段:要在這個最小系統(tǒng)上嘗試安裝桌面環(huán)境,并進行相關的適配工作,使其能夠啟動DDE桌面,直到最終提供完整的deepin桌面環(huán)境。
第三階段:要使用前面適配的經(jīng)驗成果去進行U盤安裝鏡像的相關適配,實現(xiàn)從U盤啟動安裝deepin系統(tǒng)。
那么,經(jīng)歷這三個階段,我們具體要解決哪些適配問題呢?
適配最小deepin環(huán)境(僅命令行)
首先,我們基于m1-debian打包M1 Debian rootfs包的腳本,先將debootstrap rootfs環(huán)境的源從debian換成deepin,達到這一步的時候可以成功啟動,隨后便嘗試替換apt軟件源為deepin V23的Community源,發(fā)現(xiàn)系統(tǒng)啟動階段發(fā)生了kernel panic。進行了分析、搜索和調試之后,沒有任何結果。
在進一步分析和調試之后,最終,將community源換成了CI源后生成rootfs,此時kernel panic報錯消失,成功進入deepin系統(tǒng)。猜測是因為上游內核需要的相關庫版本較高,而當前Community源的軟件包無法滿足要求,因此,暫時需要使用CI源進行適配。
在這一階段,除了Asahi相關包還需要使用m1-debian項目以外,其他debian源均可替換為deepin源,如下圖,已經(jīng)能夠啟動最小的deepin系統(tǒng)環(huán)境了。
適配基本的DDE桌面環(huán)境
最開始,在deepin環(huán)境中裝DDE桌面環(huán)境時,會遇到mesa包依賴的問題。因為m1-debian適配的mesa包是基于Debian bookworm環(huán)境的,所以無法直接在deepin環(huán)境下使用。于是,deepin-m1 SIG決定在deepin環(huán)境下重新打包mesa,并獨立建倉庫。因為都已經(jīng)獨立建倉了,所以在這個階段便將內核,m1n1, uboot等組件也一并重新打包,并加入倉庫。
當解決了這個問題之后,接下來的流程就順利了一些。裝上mesa和DDE桌面環(huán)境,并且在解決了一些奇奇怪怪的缺包依賴問題之后,如下圖,便能啟動我們熟悉的桌面環(huán)境了。
不過,在當前的桌面環(huán)境之上,聲音和GPU硬件加速都是無法使用的。調試期間,我們嘗試過各種Asahi Linux中發(fā)行版的內核參數(shù)及內核編譯腳本進行內核的定制適配,遺憾的是,從目前的調試結果來看,我們自行編譯的內核依然無法解決上述問題。
當使用m1-debian項目提供的內核后,盡管可以啟用GPU硬件加速,但窗管這部分會依舊會出現(xiàn)問題。比如異常白塊,dock顯示異常。這可能需要進行內核與窗管的適配工作。
這方面問題有待我們進一步分析、調試及排查問題根源所在。目前,項目已經(jīng)公開發(fā)布在github上,感興趣的開發(fā)者可以去試一試。如果希望直接在Mac上安裝,也可以直接使用腳本。
適配U盤安裝鏡像
由于Mac系統(tǒng)的特殊系統(tǒng)引導結構,在其設備上是無法進行像普通電腦一樣直接插U盤,然后從U盤引導安裝程序進行系統(tǒng)安裝的。但是,m1-debian項目提供了一種制作U盤 LiveCD的方法,并且此種方案可以被穩(wěn)定使用。這給我們提供了一種適配U盤安裝鏡像,并從U盤引導安裝deepin系統(tǒng)的思路。
首先,要使安裝盤系統(tǒng)能夠被成功啟動,我們需要替換安裝鏡像的普通內核為Asahi Linux項目專門制作的內核。這需要我們修改鏡像制作流程,專門打包一個為Mac M1設計的鏡像。主要是在內核制作階段,替換了使用的內核倉庫和內核包。
然后,在適配過程中,還遇到了安裝器安裝系統(tǒng)失敗的問題。報執(zhí)行"05_context-menus_copy.job"失敗的錯誤。經(jīng)過排查,發(fā)現(xiàn)這是一個臨時解決方案的安裝鉤子,當前安裝環(huán)境并不需要,反而導致了錯誤。于是,便在制作鏡像流程中將其去除。之后,安裝流程便可以正常走完了。
我們要鄭重地提醒大家,這個安裝鏡像還不是完美的,存在一些不可忽視的限制和風險。為了不影響Mac原有的引導和系統(tǒng)分區(qū),只能使用自定義安裝,在空閑磁盤區(qū)域中安裝deepin系統(tǒng)。全盤安裝和高級安裝可能會嚴重損壞引導或Mac系統(tǒng),導致機器無法正常工作。這種情況下,只有用另一臺Mac設備進行線刷才能恢復。安裝器暫時還沒有屏蔽全盤安裝和高級安裝,所以請小伙伴們務必謹慎選擇。
最后,再次感謝deepin相關SIG的開發(fā)者,非常感謝你們在Asahi Linux以及m1-debian項目的協(xié)助與支持。正是由于你們的貢獻開源、參與開源,deepin系統(tǒng)會越來越好。謝謝你們!
關于我們
deepin.org
作為國內首個桌面操作系統(tǒng)根社區(qū),深度開源社區(qū)一直秉承產(chǎn)品創(chuàng)新、技術開放、過程透明、伙伴共創(chuàng)的理念,堅定地成為連接內部開發(fā)者和產(chǎn)品,外部開發(fā)者和用戶的紐帶。致力于打造中國主導、具有國際影響力的桌面操作系統(tǒng)根社區(qū),保障操作系統(tǒng)供應鏈安全,筑牢數(shù)字基礎設施安全底座。
審核編輯:湯梓紅
-
內核
+關注
關注
3文章
1410瀏覽量
41117 -
Apple
+關注
關注
1文章
935瀏覽量
53646 -
gpu
+關注
關注
28文章
4912瀏覽量
130679 -
操作系統(tǒng)
+關注
關注
37文章
7097瀏覽量
124972 -
腳本
+關注
關注
1文章
397瀏覽量
28353
原文標題:deepin適配Apple M1,我們經(jīng)歷了什么?(下篇)
文章出處:【微信號:linux_deepin,微信公眾號:深度操作系統(tǒng)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
基于ARM架構設計的M1芯片
STM32CubeIDE是否針對新MAC中的Apple M1芯片進行了優(yōu)化?
小米m1報價_小米m1怎么樣_小米m1好不好

小米m1和1s的區(qū)別_小米m1和m1s對比哪個好
蘋果推出首款自研芯片M1
拆解Apple Silicon MacBook:M1定制芯片廬山真面目
微軟發(fā)布Office更新,可適配蘋果M1
蘋果M1芯片是顛覆性創(chuàng)新?
Zoom適配于M1 Mac的本機版本正在更新中
十年布局,終換得M1芯片一鳴驚人
微軟已經(jīng)取消了支持Apple M1處理器的Edge瀏覽器的beta版
Apple推出電腦芯片M1 Ultra 華為FDD Gigaband系列產(chǎn)品獲獎
deepin V23 beta適配WSL的過程
deepin適配Apple M1的過程(上)

評論