[Google Pixel 4a (5g) ]来たるべきAndroid 12に備える。

Android 12 beta 5をインストールして、root化したよ、っていうお話です。

10月にはAndroid 12が公式にリリースされると思いますので、サブ機落ちしたGoogle Pixel 4a (5g) で遊んでみます。

全体的な流れとしては、

  1. Factory ImageをFastbootモードで焼く
  2. 初期セットアップ1回目
  3. Fastbootモードで、確認付きブート(AVB)を無効化、フルワイプ
  4. 初期セットアップ2回目
  5. Magisk Canaryのインストール、パッチを当てる
  6. SafetyNetの回避

Magiskなしであれば、Androidの「betaプログラム」に参加すればいいだけですので、このブログを読む必要はないかと思います。

Android 12 Beta 5 のFactory Imageのダウンロード、フルフラッシュ

ダウンロード

公式サイトで紹介されていることはいるのですが、Beta 2 であって、Beta 5が見つかりません。

海外のサイトで検索してみるといろいろ出てきますが、XDAあたりなら問題ないと信じています。

フラッシュ

「bramble-spb5.210812.002-factory-a85643f5.zip」を解凍して、フルに焼いていきます。
Windowsな方でしたらおそらく管理者権限で「flash-all.bat」を、私はUbuntuなので、「flash-all.sh」を実行しました。

$ sudo ./flash-all.sh 
Sending 'bootloader_a' (8754 KB)                   OKAY [  0.530s]
Writing 'bootloader_a'                             (bootloader) Flashing Pack version b5-0.4-7617461
(bootloader) Flashing partition table for Lun = 0
(bootloader) Flashing partition table for Lun = 1
(bootloader) Flashing partition table for Lun = 2
(bootloader) Flashing partition table for Lun = 4
(bootloader) Flashing partition table for Lun = 5
(bootloader) Flashing partition xbl_a
(bootloader) Flashing partition xbl_config_a
(bootloader) Flashing partition aop_a
(bootloader) Flashing partition tz_a
(bootloader) Flashing partition hyp_a
(bootloader) Flashing partition abl_a
(bootloader) Flashing partition keymaster_a
(bootloader) Flashing partition devcfg_a
(bootloader) Flashing partition qupfw_a
(bootloader) Flashing partition uefisecapp_a
(bootloader) Flashing partition featenabler_a
(bootloader) Flashing partition logfs
OKAY [  0.262s]
Finished. Total time: 1.020s
Rebooting into bootloader                          OKAY [  0.066s]
・
・
・
・
File system type raw not supported.
Rebooting OKAY [ 0.000s]
Finished. Total time: 285.053s

焼き終えたら、再起動します。

$ sudo fastboot reboot

初期セットアップ1回目、即Fastbootモードへ

セットアップが始まりますが、もう一度、作業があってデータを全消去する必要が有りますので、セットアップはほどほどにしておいた方が無難です。
オフラインで設定」を進めれば、アカウントさえも不要ですので、簡単です。

セットアップが終了したら、「開発者モード」を有効にして、デバッグ接続できる状態にしてください。
その状態で、再度、Fastbootモードに入ります。

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

最初にダウンロードしたFactory Image内に「vbmeta.img」というファイルがありますので、取り出しておきます。

image-bramble-spb5.210812.002.zip」の中に入っています。

取り出したら、Fastbootモードで焼きます。

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

焼き終えたら、データを初期化します。

$ sudo fastboot -w
Erasing 'userdata' OKAY [ 7.925s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Erasing 'metadata' OKAY [ 0.156s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Finished. Total time: 8.503s

初期セットアップ2回目

もう初期化することはないので、気ままにリストアしてください。

Magisk

Magiskのダウンロード

  • Magsik Canary
    ページをスクロールしていくと「Downloads」があるので、Canaryから「app-debug.apk」をダウンロードして、Pixelにインストール。

boot.imgにパッチを当てる

前述の「vbmeta.img」と同様に「image-bramble-spb5.210812.002.zip」の中に「boot.img」がありますので、取り出しておきます。
これをPixel本体へ転送します。

Magiskを起動したら、Magiskの項目の「インストール」を選択して、「boot.img」を選択して「はじめる→」をタッチすればオッケーです。

パッチを当て終えたら、PCに転送しておきます。

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

Fastbootモードに入り、焼きます。
不安だったら、「fastboot boot magisk_patched—–.img」でお試しができます。

$ sudo fastboot flash boot magisk_patched-23001_OJVKM.img 
Sending 'boot_a' (98304 KB)                        OKAY [  4.560s]
Writing 'boot_a'                                   OKAY [  0.565s]
Finished. Total time: 5.432s

$ sudo fastboot reboot
Rebooting                                          OKAY [  0.018s]
Finished. Total time: 0.068s

SafetyNet回避関係

関連ファイルのダウンロード

それぞれ、Magsikのモジュール画面を開き、「ストレージからインストール」を選択、それぞれインストールします。

再起動が面倒なので、連続してインストールしてみましたが特に問題はありませんでした。

SafetyNetをパスしているか確認

MagiskHideを有効にしておいてから、テストしてみたところ、無事に成功しました。

一応、最低ライン使用できる状態になりました。
Android12はどことなく、MIUI12に近づけたというか、iOSに近づけたようなUIのような気がします。
好みが分かれそうですね。

参考にさせていただいた記事