見出し画像

キャリア版のアップデートについて

Xiaomi 13T, 13T Proを例に、キャリア版のアップデート方法をメモ

Xiaomiの純StockROMであれば、recoveryROMがまるごと降ってきてアップデート出来るので、アップデート前の環境を気にする必要はない。しかし、キャリアROMの場合はインクリメンタルなファイルしか降ってこない上にbootやpreloader, md1img等が書き換えられているとOTAが弾かれたりするので厄介です。

前提要件
PC環境とユーザースキルが整っていること
※Magisk環境でのアップデートを想定しています
KSU等の場合は読み替えてください
※手順が理解できない人は実行しないでください

1.元に戻す

ほとんどの場合、boot.img/init_boot.imgをstockのイメージに戻せば完了です
モジュールを全てオフにしてから、
fastbootモードでstockのboot/init_bootを焼いて戻します
boot/init_boot以外に改変を加えている場合はその領域についても元のイメージに戻します

fastboot flash boot stock_boot.img
もしくは、
fastboot flash init_boot stock_init_boot.img

fastboot reboot

2.アップデートする

再起動したらアップデートします
ここでアップデートが弾かれる場合はstockのイメージに戻せていない領域等が存在します
terajima-alc氏のnoteを参考にしてエラーの原因を探してください

adb logcat -s update_engine:ERROR

3.端末を再起動してDSU

アップデート完了後、DSUでboot/init_bootを抜きます

必要なもの
DSU Sideloader
GSI rom
(元より新しいAndroidのarm64_bvS.img.xzを選ぶ)

DSU SideloaderでGSIをインストールする
boot/init_bootを抜くだけなので設定は特に変更する必要ない
起動準備が完了するとadbコマンドを実行しろと指示されるので
PCからadbコマンドを実行する

adb shell sh "/storage/emulated/0/Android/data/vegabobo.dsusideloader/files/install"

準備ができましたと通知表示されたら再起動を押してGSIを起動
起動したらskipしつつホーム画面まで進める
GSIが起動しない場合は、別のGSIを探す
(andyyan氏のLineageで起動しなかった端末に遭遇したことはないが起動しない機種もあるかもしれない)

最初からUSBデバッグがオンになっているはずなのでPCからコマンド実行
シェルのsu権限の許可が端末で出るので許可します

adb shell

su

cd /dev/block/by-name/
もしくは、
cd /dev/block/bootdevice/by-name/

for file in *; do
    if [[ "${file}" = boot* || "${file}" = init_boot* ]]; then dd if="${file}" of=/sdcard/Download/"${file}".img ; else continue ; fi
done
Xiaomi 13Tで実行した例

boot/init_bootがDownloadフォルダ内にダンプできたら、PCへコピーしておく
コピーしたら通知のRestartで再起動
再起動後のDSUは破棄でok

DSUについての詳細はこちら

4.boot/init_bootにMagiskパッチを当てて焼く

先にfastboot getvar current-slotでA/Bのどちらのイメージを使うのか確認しておく

init_bootがある→init_bootにパッチを当てる(ダミーの場合あり)
bootのみ→bootにパッチを当てる
両方にパッチを当てて焼いたり、異なる領域にflashすると文鎮化する可能性があります
※そもそもmagisk環境のアプデを想定しているので最初にrootedした際の作業を同じ様にやってください
Androidバージョンが上がるようなアップデートの場合、モジュールが動かなかったり、boot loopすることがあるので一つづつオンにして問題ないかを確認

これで完了

すべてのイメージのダンプが必要な場合はrooted後にboot/init_bootと同じ様にダンプしてください
(DSUの段階でダンプしてもok)

5.補足

基本的にアプデ前やアプデ後にMagiskManagerアプリを再インストールする必要はないです(Settingsのままでよい)
2つも3つもmanagerアプリをインストールして未インストールのままとか言ってる人いますが、managerアプリが競合していれば権限を持てないmanagerアプリが出てくるのは当たり前です

KSUでboot/init_bootを取り出す方法もあります
ただ、KSUでは起動しない機種があったりするので今回はDSUでの方法を取り扱っています

例に出した13Tに関しては初期ROMを公開しています

また、SB版13T Proも初期ROMを同じダウンローダーに公開しています。
なお、13T Proはオープンマーケット版のJPROMがあるのでそちらを使ってください
SB版にjpROMを焼いてリロックも可能なのでSB版ROMにこだわる必要はないと思います
心配な人はこの記事の手順でSB版ROMのまま、Magiskインストール程度にとどめておくこと
一応SB版ROMは公開してありますが返却予定のある端末にグロROMやjpROMを焼いたりするのは自己責任で行ってください
リロックする場合は必ず初期ROMやstockのFastbootROMを焼いた段階でリロックしてください
弄くり回した後にリロックすると文鎮になる可能性が高いです

万が一、fastbootに入れないような重篤な症状に陥った場合はpreloaderからのauth flashの必要があるので修理可能な業者に依頼してください

いいなと思ったら応援しよう!