# 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` 為例: - 該型號列在 `Xperia XA2` 的 "Supported models" 內 - codename 為 `pioneer` - 參考網頁: <https://wiki.lineageos.org/devices/pioneer/> ### 安裝 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** 測試 - https://play.google.com/store/apps/details?id=org.freeandroidtools.safetynettest - 通過後,再進行其他 Apps 測試 - 建議關掉 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+ |