[Pixel 4a5G,5,5a,6]root化済みAndroid 12をOTAアップデート

2021-11-13Google Pixel 4a (5g), google Pixel 6, Magisk, OTA

初期化なしでOTAアップデートする方法が公開されました。

 

XDA Forum

こちらで紹介していました。

対象となるデバイス

SOCに

  • Snapdragon 765
  • Tensor

を採用しているデバイスが対象とのことです。

  • Pixel 4a(5G)
  • Pxiel 5
  • Pixel 5a
  • Pixel 6
  • Pixel 6 Pro

が対象となるようです。

今回は、Pixel 4a(5G)を使用してアップデートしてみます。
Pixel 6ではこのやり方を知らず、完全に初期化してしまいました・・・。

必要なもの

Factory Imageからアップデートする方法を試しましたが、弾かれてしまいましたのでOTAを使用することにしました。

$ sudo fastboot update --disable-verity --disable-verification bramble-sp1a.211105.003-factory-39b4b71c.zip
--------------------------------------------
Bootloader Version...: b5-0.4-7617461
Baseband Version.....: g7250-00147-210811-B-7631450
Serial Number........: xxxxxxxxxxxxxx
--------------------------------------------
archive does not contain 'android-info.txt'
fastboot: error: could not read android-info.txt

 

アップデートの下準備

Factory イメージファイル

Factoryイメージ「bramble-sp1a.211105.003-factory-39b4b71c.zip」中に
さらに「image-bramble-sp1a.211105.003.zip」があるので、
その中から

  • boot.img
  • vbmeta.img

を取り出します。

Magisk Alphaでboot.imgにパッチ

boot.imgは、非公式版Magisk Alphaにてパッチを当てることをおすすめします。

Magiskのアンインストール

XDAでは特に書いてなかったので、アンインストールする必要があるかわかりませんが、
気持ち悪いので、アンインストールしました。

 

 

アップデート作業

リカバリーモードからOTAアップデート

ADBのsideload機能を使ってアップロードします。
adb 接続してリカバリーモードに入ります。

$ adb reboot recovery

この画面になったら、電源ボタンを押しながら、音量上げボタンを押します。

ボリューム上下でメニューを選択できます。

「Apply update from ADB」までカーソルを移動させたら、「電源ボタン」で決定

画面の下に「Now send the package you want to apply」と出てきたらオッケーです。

OTAイメージファイルをsideloadを使ってアップデートを適用させます。

$ adb sideload bramble-ota-sp1a.211105.003-8ac6d937.zip
serving: 'bramble-ota-sp1a.211105.003-8ac6d937.zip'  (~83%)

Total xfer: 2.00x

アップデートが終わったら、再起動は厳禁です。

確認付きブート(AVB)を無効化

続けてリカバリメニューから「Reboot to bootloader」を選択

fastbootモードに移ったら、AVBを無効にしてvbmeta.imgを焼きます。

$ sudo fastboot flash vbmeta --disable-verity --disable-verification --slot=all vbmeta.img
Rewriting vbmeta struct at offset: 0
Sending 'vbmeta_a' (8 KB)                          OKAY [  0.140s]
Writing 'vbmeta_a'                                 OKAY [  0.078s]
Rewriting vbmeta struct at offset: 0
Sending 'vbmeta_b' (8 KB)                          OKAY [  0.140s]
Writing 'vbmeta_b'                                 OKAY [  0.078s]
Finished. Total time: 1.000s

あとは「fastboot reboot」で再起動してオッケーです。

Magiskパッチ済みboot.imgを焼く

vbmeta.imgを焼いたあと、一度、通常の再起動を行います。
ここでアップデート出来ているか確認するのもいいかもしれませんね。

bootloaderに移ります。

$ adb reboot bootloader

最初に作っておいた、magiskパッチ済みboot.imgを焼く

fastboot flash boot --slot=all magisk_patched-23xxx_xxxxx.img
Sending 'boot_a' (65536 KB)                        OKAY [  2.814s]
Writing 'boot_a'                                   OKAY [  0.101s]
Sending 'boot_b' (65536 KB)                        OKAY [  2.862s]
Writing 'boot_b'                                   OKAY [  0.101s]
Finished. Total time: 6.013s

 

無事に焼けたら、再起動して終わりです。

$ sudo fastboot reboot
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 0.051s

 

その他のやり方

同じく、XDAに新しいツールが公開されていました。

まだまだ開発途中のようですので、様子見しています。

だんだんとroot化したあとの環境が厳しくなっていますね・・・