[心得] 製作第三方ROM LineageOS

看板MobileComm (行動通訊)作者 (內容農場殺手)時間3年前 (2023/02/05 01:00), 3年前編輯推噓42(4204)
留言46則, 43人參與, 3年前最新討論串1/1
製作自己的Android ROM就像吃早午餐一樣,編譯指令分別爲breakfast → lunch→ brunch ,最後製作出bacon! https://i.imgur.com/IOPmIwD.png
因為想修改Android的Linux核心(kernel),便順便學習如何編譯LineageOS ROM。 手機為Sony Xperia 5 II (pdx206),更新二個Android版本後就被放生的旗艦機。XDA上有u nofficial移植的版本,直接拿它原始碼來用。 之所以選LineageOS,是因為接近原生AOSP的風格就很好看了。沒有預載太多軟體,Sony原 廠的相機也還能用。 https://i.imgur.com/WwDnnDt.png
理論上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
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
-- 最真實的1944年日美海空戰,絕贊上映中。 https://i.imgur.com/XvVnOv9.png
https://i.imgur.com/z3atpS6.png
https://i.imgur.com/QrmG2LL.png
https://i.imgur.com/zZ0vNvR.png
https://i.imgur.com/dlhNnEL.png
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.188.73 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1675530057.A.C19.html

02/05 01:17, 3年前 , 1F
猛..
02/05 01:17, 1F

02/05 01:20, 3年前 , 2F
推~
02/05 01:20, 2F

02/05 01:24, 3年前 , 3F
很用心,雖然我三星
02/05 01:24, 3F

02/05 01:29, 3年前 , 4F
太專業了 還好我手機有官方版的Los可以刷QQ
02/05 01:29, 4F

02/05 02:09, 3年前 , 5F
如果沒有前人做的Device Tree連編譯都別想了..
02/05 02:09, 5F

02/05 02:09, 3年前 , 6F
(望向我那隻跟孤兒沒兩樣的初代Xperia 1)
02/05 02:09, 6F

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

02/05 02:33, 3年前 , 8F
想知道手機跑docker穩定度與發熱量,盒子可以做到手機應該
02/05 02:33, 8F

02/05 02:33, 3年前 , 9F
更好才是
02/05 02:33, 9F
試過跑包在Docker內的NodeJS APP,性能良好。可是docker compose不能用。

02/05 03:12, 3年前 , 10F
感謝分享,對工作上很有幫助
02/05 03:12, 10F

02/05 04:11, 3年前 , 11F
專業推推
02/05 04:11, 11F

02/05 06:30, 3年前 , 12F
會不會做完螢幕就多一條綠線了
02/05 06:30, 12F
沒,刷機前我壞掉的只有指紋XD

02/05 06:36, 3年前 , 13F
02/05 06:36, 13F

02/05 07:22, 3年前 , 14F
原始碼竟然有50gb
02/05 07:22, 14F

02/05 07:24, 3年前 , 15F
強,推教學
02/05 07:24, 15F

02/05 08:14, 3年前 , 16F
先推
02/05 08:14, 16F

02/05 08:39, 3年前 , 17F
???
02/05 08:39, 17F
※ 編輯: ivon852 (36.236.188.73 臺灣), 02/05/2023 09:17:25

02/05 09:18, 3年前 , 18F
02/05 09:18, 18F

02/05 09:19, 3年前 , 19F
02/05 09:19, 19F

02/05 09:49, 3年前 , 20F
02/05 09:49, 20F

02/05 10:10, 3年前 , 21F
好厲害
02/05 10:10, 21F

02/05 10:26, 3年前 , 22F
02/05 10:26, 22F

02/05 10:40, 3年前 , 23F
看惹一下,還以為走錯板
02/05 10:40, 23F

02/05 10:51, 3年前 , 24F
推 還好xz3還有lineage官方維護
02/05 10:51, 24F

02/05 10:53, 3年前 , 25F
感謝分享
02/05 10:53, 25F

02/05 11:06, 3年前 , 26F
docker compose不能用應該是沒選到arm版吧?
02/05 11:06, 26F
是從Termux裝的。Termux docker的socket位置好像不一樣,docker-compose無法連接。

02/05 11:20, 3年前 , 27F
鼓勵更多實作文
02/05 11:20, 27F

02/05 11:20, 3年前 , 28F
推, 很實用.
02/05 11:20, 28F

02/05 11:22, 3年前 , 29F
推 之前有想試 但是不能開網銀就退縮了
02/05 11:22, 29F

02/05 11:57, 3年前 , 30F
技術文推
02/05 11:57, 30F

02/05 12:09, 3年前 , 31F
推技術文
02/05 12:09, 31F

02/05 12:18, 3年前 , 32F
02/05 12:18, 32F

02/05 12:27, 3年前 , 33F
推心得與分享!
02/05 12:27, 33F

02/05 12:33, 3年前 , 34F
02/05 12:33, 34F

02/05 13:04, 3年前 , 35F
02/05 13:04, 35F

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

02/05 13:58, 3年前 , 37F
推優文
02/05 13:58, 37F

02/05 15:27, 3年前 , 38F
02/05 15:27, 38F

02/05 16:02, 3年前 , 39F
推心得
02/05 16:02, 39F

02/05 16:05, 3年前 , 40F
專業 推
02/05 16:05, 40F

02/05 19:47, 3年前 , 41F
02/05 19:47, 41F

02/05 19:57, 3年前 , 42F
02/05 19:57, 42F

02/05 20:32, 3年前 , 43F
強。我也以為走錯版。
02/05 20:32, 43F

02/05 22:22, 3年前 , 44F
技術文推
02/05 22:22, 44F

02/05 22:58, 3年前 , 45F
02/05 22:58, 45F

02/06 20:38, 3年前 , 46F
https://tinyl.io/7okO LineageOS 官方要上 5II 了
02/06 20:38, 46F
文章代碼(AID): #1Ztez9mP (MobileComm)
文章代碼(AID): #1Ztez9mP (MobileComm)