※ 本文轉寄自 ptt.cc, 文章原始頁面
標題

[心得] 製作第三方ROM LineageOS

時間
最新2023-02-06 20:38:00
留言46則留言,43人參與討論
推噓42 ( 4204 )
製作自己的Android ROM就像吃早午餐一樣,編譯指令分別爲breakfast → lunch→ brunch ,最後製作出bacon! https://i.imgur.com/IOPmIwD.png
[心得] 製作第三方ROM LineageOS
因為想修改Android的Linux核心(kernel),便順便學習如何編譯LineageOS ROM。 手機為Sony Xperia 5 II (pdx206),更新二個Android版本後就被放生的旗艦機。XDA上有u nofficial移植的版本,直接拿它原始碼來用。 之所以選LineageOS,是因為接近原生AOSP的風格就很好看了。沒有預載太多軟體,Sony原 廠的相機也還能用。 https://i.imgur.com/WwDnnDt.png
[心得] 製作第三方ROM LineageOS
理論上Linux核心可以獨立於原始碼樹編譯(standalone),不過失敗率很高。為此將整部系 統的原始碼抓下來,再用LineageOS (AOSP) 提供的工具去編譯核心。 實際操作一遍設定LineageOS專案、下載原始碼、抽取閉源驅動。 --- 首先需要一台Linux電腦,這裡用Arch Linux。RAM需要至少16GB,需要至少100GB的硬碟空 間。 接著按照LineageOS Wiki的內容安裝編譯用的依賴套件。這篇是Xperia 1 II的,跟Xperia 5 II的有部分差異。 https://reurl.cc/pZQd6e 自己寫的中文解說版。網路上還有Jeremy Chen大大寫的AOSP編譯教學。 https://reurl.cc/LX9367 步驟約略如下: 1. 下載50GB左右的LineageOS原始碼,分支選取LineageOS 20 (Android 13) 2. 下載Sony Xperia 5 II的裝置設定檔,再下載Sony的專有驅動(proprietary blob) 3. 從OTA更新包抽取Sony的專有驅動。 4. 按照需求修改LineageOS原始碼,例如改內建桌布、將Gapps預編譯進去等。 我主要是要改核心所以沒做太多變更。 5. 使用brunch指令開始編譯ROM,Intel i5-7400約要編譯6小時。 https://i.imgur.com/pKn8VrQ.png
[心得] 製作第三方ROM LineageOS
6. 編譯好的刷機包要用手機的Recovery刷進去。如果手機已經安裝LineageOS,那麼直接髒 刷(dirty flash)更新也行的,GApps可能也要重刷。 --- 最後是我比較在意的點:修改Linux核心。 Linux核心部分是可以獨立編譯的,會直接輸出為boot.img。 我主要是想開啟手機跑Docker的能力,為此需要去開啟核心選項開Cgroups等CONFIG,以及 啟用binfmt。然而開某些選項會被認為不安全而導致整個ROM編譯失敗,為此做法是先用Lin eageOS原始的核心編譯完ROM後,將ROM刷進手機。再獨立編譯boot.img刷進手機(只刷boot. img不用清除手機資料) 值得注意的是boot.img沒有啟用Root權限,為此還得給Magisk修補才能取得Root權限。 在一番搗鼓後,終於可以在Android手機跑Docker了,另外開啟binmt以支援x86→ARM轉譯映 像檔的功能。 https://i.imgur.com/EcMOB6Q.png
[心得] 製作第三方ROM LineageOS
-- 最真實的1944年日美海空戰,絕贊上映中。 https://i.imgur.com/XvVnOv9.png
[心得] 製作第三方ROM LineageOS
https://i.imgur.com/z3atpS6.png
[心得] 製作第三方ROM LineageOS
https://i.imgur.com/QrmG2LL.png
[心得] 製作第三方ROM LineageOS
https://i.imgur.com/zZ0vNvR.png
[心得] 製作第三方ROM LineageOS
https://i.imgur.com/dlhNnEL.png
[心得] 製作第三方ROM LineageOS
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.188.73 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1675530057.A.C19.html

46 則留言

gaiaesque, 1F
猛..

Two4, 2F
推~

NX9999, 3F
很用心,雖然我三星

sakala, 4F
太專業了 還好我手機有官方版的Los可以刷QQ

Arbin, 5F
如果沒有前人做的Device Tree連編譯都別想了..

Arbin, 6F
(望向我那隻跟孤兒沒兩樣的初代Xperia 1)

chickengod, 7F
cool
※ 編輯: ivon852 (36.236.188.73 臺灣), 02/05/2023 02:25:35

morphy, 8F
想知道手機跑docker穩定度與發熱量,盒子可以做到手機應該

morphy, 9F
更好才是
試過跑包在Docker內的NodeJS APP,性能良好。可是docker compose不能用。

wizard6636, 10F
感謝分享,對工作上很有幫助

hyghmax1202, 11F
專業推推

Kagero, 12F
會不會做完螢幕就多一條綠線了
沒,刷機前我壞掉的只有指紋XD

Taichun318, 13F

pttpu, 14F
原始碼竟然有50gb

lkj12tw, 15F
強,推教學

ProSpicy, 16F
先推

kenlin0105, 17F
???
※ 編輯: ivon852 (36.236.188.73 臺灣), 02/05/2023 09:17:25

Raysun96, 18F

A4P8T6X9, 19F

TF00207374, 20F

andy0121, 21F
好厲害

ltytw, 22F

qa1122z, 23F
看惹一下,還以為走錯板

slsamg7112, 24F
推 還好xz3還有lineage官方維護

stonys, 25F
感謝分享

kimi112136, 26F
docker compose不能用應該是沒選到arm版吧?
是從Termux裝的。Termux docker的socket位置好像不一樣,docker-compose無法連接。

littlefish1, 27F
鼓勵更多實作文

twinkleAshed, 28F
推, 很實用.

aasssdddd, 29F
推 之前有想試 但是不能開網銀就退縮了

kklighter, 30F
技術文推

WLR, 31F
推技術文

cliff2001, 32F

avans, 33F
推心得與分享!

zvx911, 34F

lovemayu, 35F

abc0922001, 36F
推心得。現在 windows 也可以開 WSL2 去編譯 ROM 了
※ 編輯: ivon852 (36.236.188.73 臺灣), 02/05/2023 13:25:27

ShibaTatsuya, 37F
推優文

vercetti, 38F

get951753, 40F
專業 推

eric525498, 41F

kkkk1234, 42F

a9202507, 43F
強。我也以為走錯版。

leveger0903, 44F
技術文推

lucisferre, 45F

abc0922001, 46F
https://tinyl.io/7okO LineageOS 官方要上 5II 了