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を使うことができますね!

この記事に登場した製品

コメント

  1. >> fastboot flash product product_gsi.img
    Sending ‘product’ (328 KB) OKAY [ 0.021s]

    Writing ‘product’ FAILED (remote: ‘This partition doesn’t exist’)
    fastboot: error: Command failed

    エラーメッセージで焼けません?

    • まずはfastbootを最新のものに更新してからお試しいただけますか?
      https://developer.android.com/studio/releases/platform-tools?hl=ja

      以前にproductパーティションを削除していると、そのメッセージが出るかもしれません。
      その場合は以下のコマンドでproductパーティションを作成してみてください。

      fastboot create-logical-partition product 400000000

      パーティションサイズは上記XDAのスレッドにて紹介されていたものです。

      分からないことがあればまたコメントくださいませ!

      • PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools_r33.0.2-windows\platform-tools> adb reboot bootloader
        PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools_r33.0.2-windows\platform-tools> fastboot create-logical-partition product 400000000
        Creating ‘product’ FAILED (remote: ‘unknown command’)
        fastboot: error: Command failed
        PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools_r33.0.2-windows\platform-tools> fastboot flash product product_gsi.img
        Sending ‘product’ (328 KB) OKAY [ 0.021s]
        Writing ‘product’ FAILED (remote: ‘This partition doesn’t exist’)
        fastboot: error: Command failed
        PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools_r33.0.2-windows\platform-tools>

        無理でした( ノД`)シクシク…

        • 情報ありがとうございます。
          動的パーティションのデバイスかと思われます。
          参考までにデバイスの機種名を教えてもらえますか?

          https://source.android.com/devices/tech/ota/dynamic_partitions/implement?hl=ja

          この場合、fastbootではなくfastbootdというモードでお試しください。
          具体的には以下の手順です。

          adb reboot bootloader
          fastboot reboot fastboot

          もしくは
          adb reboot fastboot

          でfastbootdで起動します。
          この状態で

          fastboot flash product product_gsi.img

          をお試しください。

  2. UMIDIGI Power 3です。
    無理でした。

    • うむむ…僕が成功したのと同じ機種だったんですね。
      ちょっと状況が分からないのでなんとも言えないのですが、一度公式のROMを全部焼き直してから再度試したら変わるかも…?🤔

      ツールも含めて下記フォーラムより入手できます。
      https://community.umidigi.com/forum.php?mod=viewthread&tid=19231

  3. 赤文字でfastbootdで選択画面が出てきましたがどれを選択してよいか分かりません。
    そのままfastboot flash product product_gsi.imgをエンタすると
    です。

  4. 両方試しましたが駄目でした。

    PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools_r33.0.2-windows\platform-tools> adb reboot bootloader
    PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools_r33.0.2-windows\platform-tools> fastboot reboot fastboot
    Rebooting into fastboot OKAY [ 0.002s]

    PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools_r33.0.2-windows\platform-tools> adb reboot fastboot
    PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools_r33.0.2-windows\platform-tools> fastboot flash product product_gsi.img

    • fastbootdで再起動しても特にデバイスを操作する必要はないです。
      赤文字でfastbootdが表示されてれば大丈夫です。
      そのまま fastboot flash product product_gsi.img で焼いてみてください。

      adb reboot bootloader
      fastboot reboot fastboot
      fastboot flash product product_gsi.img

      この一連のコマンドでOKです!

  5. PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools> adb reboot bootloader
    PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools> fastboot reboot fastboot
    Rebooting into fastboot OKAY [ 0.002s]

    コマンドできません。
    何度も申し訳ございません。

    • コマンドができないというのはどのコマンドですか?
      fastbootdに再起動はできてるんですよね?

      fastbootdの状態で fastboot flash product product_gsi.img を叩けば焼けるはずなのですが…
      できませんではなくエラーメッセージを教えてくれないと分かりません。

      できたこと、できなかったこと、試してみたことを整理して教えてください。
      今デバイスの状態はデフォルトのROMですか?
      Bootloader Unlockしただけですかね?

      デバイスが文鎮化しても責任は取れないので、よく分からなければ今は諦めるのもひとつの手だと思います。

  6. デフォルトのROMにしてBootloader Unlockしただけです。
    fastbootdに再起動はできてるますが PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools> adb reboot bootloader
    PS C:\Users\lovei\OneDrive\デスクトップ\platform-tools> fastboot reboot fastboot
    Rebooting into fastboot OKAY [ 0.002s]
    waiting for any deviceになります。

    • なるほど…Fastbootのデバイスが見つからなくてコマンドが止まっちゃってるのかな…
      WindowsでFastboot状態のデバイスは認識されていますか?
      デバイスマネージャに出てきてない場合は、デバイスドライバを正しくインストールしてみてください。

      このあたりが参考になるかもです。
      https://www.droidwin.com/download-install-mediatek-bootloader-drivers-for-fastboot-connection/

  7. PS C:\platform-tools> adb reboot bootloader
    * daemon not running; starting now at tcp:5037
    * daemon started successfully
    PS C:\platform-tools> fastboot reboot fastboot
    Rebooting into fastboot OKAY [ 0.002s]

    Finished. Total time: 29.053s
    PS C:\platform-tools> fastboot flash product product_gsi.img
    Resizing ‘product’ OKAY [ 0.004s]
    Sending ‘product’ (328 KB) OKAY [ 0.010s]
    Writing ‘product’ OKAY [ 0.282s]
    Finished. Total time: 0.327s
    PS C:\platform-tools>

    お世話になりました。これでOKでしょうか?

    • お! ログを見た感じ無事に焼けてるみたいです!
      おめでとうございます✨
      あとはお好きなGSI ROMを焼いてもMagiskが導入できるかと思います!

タイトルとURLをコピーしました