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