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