Try   HackMD

LineageOS 刷機筆記

Authors & Contributors:

  • Mat

觀念介紹

主要流程

A/B分割區

Q: 如何檢查目前的分割區為何?

fastboot getvar current-slot

Q: 如何手動切換分割區

fastboot set_active b

主架構晶片

  • CPU & ARCH
  • SoC

打開"開發者選項"

事前準備

取得型號資訊

至系統的 "設定" >> "關於手機" 的設定分頁裡,找出 "型號" 參數。
然後至 LineageOS 支援列表查找對應的型號:

https://wiki.lineageos.org/devices/

H4133 為例:

安裝 adb/fastboot 工具

sudo apt install adb fastboot

確認版本資訊:

adb --version
fastboot --version

下載檔案

案例: Sony Xperia XA2

adb reboot bootloader
$ fastboot devices
CQ300191LQ	fastboot
$ fastboot boot twrp-3.7.0_9-0-pioneer.img 
Sending 'boot.img' (32464 KB)                      FAILED (Write to device failed (Cannot send after transport endpoint shutdown))
fastboot: error: Command failed

這裡改中間改接一條 USB Hub 就可以通了

adb sideload lineage-19.1-20220818-nightly-pioneer-signed.zip
adb reboot recovery
  • 選擇 "Apply Update"
    • 選擇 "Apply from ADB"
      • 此時會出現 "ADB Sideload" 的訊息

執行

adb sideload MindTheGapps-12.1.0-arm64-20220605_112439.zip

遇到

Signature verification failed
Install anyway?

選擇 "Yes"

回到主選單
選擇 "Reboot system now"

案例: Google Pixel 4

案例: Xiaomi Redmi 10C

adb sideload F-Droid.apk

2022-10-13:

adb reboot recovery

進到 recovery mode 之後
按 "Factory reset"

接著回到主選單
選 "Advanced" => "Enable ADB"
選 "Apply Update" => "Apply from ADB"

adb sideload MindTheGapps-12.1.0-arm64-20220605_112439.zip

再按 "Reboot system now" 重開機

裝 F-Droid

先到 https://f-droid.org/ 下載 apk
然後執行

adb install F-Droid.apk

裝 Magisk

https://github.com/topjohnwu/Magisk/releases/tag/v25.2
下載

adb install Magisk-v25.2.apk
adb root
adb shell
$ adb shell
fog:/ # whoami
root
fog:/ #
fog:/ # ls -l /dev/block/by-name/ | grep boot
lrwxrwxrwx 1 root root 16 1970-05-11 00:38 boot_a -> /dev/block/sde11
lrwxrwxrwx 1 root root 16 1970-05-11 00:38 boot_b -> /dev/block/sde33
lrwxrwxrwx 1 root root 16 1970-05-11 00:38 vendor_boot_a -> /dev/block/sde20
lrwxrwxrwx 1 root root 16 1970-05-11 00:38 vendor_boot_b -> /dev/block/sde43
fog:/ # 
dd if=/dev/block/by-name/boot_b of=/data/media/0/boot.img
adb pull /data/media/0/boot.img

進到 Magisk 程式,點選安裝
=> "選擇並修補檔案"

完成後會放在 Download 目錄

/data/media/0/Download/magisk_patched-25200_APUyA.img

用 adb pull 下來

adb pull /data/media/0/Download/magisk_patched-25200_APUyA.img
adb reboot bootloader
fastboot flash boot magisk_patched-25200_APUyA.img
fastboot reboot

實測

版本組合:

項目 主系統 Magisk LSPosed Shamiko Universal SafetyNet Fix Magisk Hide Props Config
(A) LineageOS 19.1 v25.2 zygisk v1.8.3 v0.5.2 v2.3.1 v6.1.2-v137

測試要點:

  • 將測試目標 App 加進 Magisk 的 DenyList
  • 重新啟動前,先清除先前的執行狀態
    • 進入目標 App 的 "App info"
    • Force stop 強制停止運行中的 instance
    • 進到 Storage & cache
      • Clear storage
  • 優先通過 SafetyNet Test 測試
  • 建議關掉 USB debugging 的功能(開發者選項)

SafetyNet Test

名稱 最新測試日期 測試結果 版本組合 硬體
SafetyNet Test 2022-10-24 Passed (A) Sony Xperia XA2+/XA2

銀行 Apps

名稱 最新測試日期 測試結果 版本組合 硬體
玉山行動銀行 2022-10-23 Open failed (A) Sony Xperia XA2/ XA2+
國泰世華銀行 2022-10-24 (A) Sony Xperia XA2
台新銀行 2022-10-24 (A) Sony Xperia XA2
Richart 2022-10-24 (需關掉 USB debugging) (A) Sony Xperia XA2
富邦行動銀行 2022-10-24 (A) Sony Xperia XA2
兆豐銀行 2022-10-24 (A) Sony Xperia XA2
永豐銀行 2022-10-24 (A) Sony Xperia XA2
將來銀行 2022-10-24 (A) Sony Xperia XA2
元大銀行 2022-10-24 (A) Sony Xperia XA2
中國信託 2022-10-24 (A) Sony Xperia XA2
遠東商銀 2022-10-24 (A) Sony Xperia XA2
彰化銀行 2022-10-24 (A) Sony Xperia XA2
臺灣銀行 2022-10-24 (A) Sony Xperia XA2

行動支付 Apps

名稱 最新測試日期 測試結果 版本組合 硬體
Google Pay 2022-10-24 (A) Sony Xperia XA2+
LINE Pay 2022-10-24 (A) Sony Xperia XA2+
台灣行動支付(Taiway Pay) 2022-10-24 (A) Sony Xperia XA2+
中油 Pay 2022-10-24 (A) Sony Xperia XA2

其他 Apps

名稱 最新測試日期 測試結果 版本組合 硬體
Easy Wallet 悠遊付 2022-10-24 (A) Sony Xperia XA2+
健保快易通(健康存摺) 2022-10-24 (A) Sony Xperia XA2+