Gadgets技術ネタ

サイズの大きいGSI ROMでもMagiskでrootを取る方法

Gadgets
スポンサーリンク

どんな記事?

Project Treble対応のAndroidデバイスはGSI ROMを焼くことで気軽に様々なカスタムROMを試すことができます。しかし中にはROMのサイズが大きいものもあり、その場合はproductパーティションを削除・リサイズしてsystemパーティションを拡張しなければ焼くことができないものもあります。
productパーティションを削除・リサイズすると、Magiskパッチしたboot.imgを使用することができません。この記事では大きいGSI ROMを焼く領域を確保しつつ、Magiskによるroot化も実現する方法を紹介します。

背景

通常はGSI ROM + Magiskを使いたい場合、boot.imgにパッチした上で以下のようにvbmeta.imgの署名を無効にすれば使用することができます。

fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img

ですがサイズの大きいGSI ROMの場合、systemパーティションのサイズが足りなくなる場合があります。こんなメッセージが出たことはありませんか?

FAILED (remote: 'Not enough space to resize partition')

その場合、多くのサイトで紹介されているとおり、下記のようにproductパーティションを削除・リサイズするという方法で、大きいサイズのGSI ROMを焼くことができます。

#systemパーティションのサイズが足りない場合
fastboot delete-logical-partition product
fastboot create-logical-partition product 0

しかしこの方法でproductパーティションを削除・リサイズするとMagiskパッチしたboot.imgを焼いてvbmeta.imgの署名を無効にしても起動することができません。

最初からroot化されているGSI ROMだったらとりあえず要rootのアプリも使用することができますが、Magiskモジュールを使いたいと思ってもMagiskを入れることができませんでした。

対策

UMIDIGI Power 3にGSI ROMを焼くにあたり、まさにこの問題にぶち当たりいろいろ調べた結果、ようやく解決方法を見つけました。さすがXDAですね……!

このスレッドに添付されているproduct_gsi.imgを、以下のようにproductパーティションに焼いてからGSI ROMを焼くと、systemパーティションが自動的に拡張され、またMagiskでパッチしたboot.imgとvbmeta.imgの署名無効化によりrootも取ることができます。

fastboot flash product product_gsi.img

systemの書き込み権限がないTWRPしかなかったり、TWRPそのものが提供されていないデバイスでも、大きいGSI ROMでMagiskを使うことができます。

UMIDIGI Power 3にFlokoROM GSI + Magiskという組み合わせで確認しました。

まとめ

これで心置きなく好きなROMでMagiskを使うことができますね!

この記事に登場した製品

\楽天ポイント5倍セール!/
楽天市場
タイトルとURLをコピーしました