Mode1 RETRO II (MD06P)をRoot化する。
Mode1 RETRO II (MD06P)
二つ折りの魅力に惹かれて購入。
本題ですが、Mode1 RETRO II
はNFC
に対応しています。
{NFC Tag Emulator
というのを使えば、事前にカードをスキャンして登録しておけば、スマホがカードのように振舞ってくれるらしい。(ICOCA
やSuica
など、種類によっては非対応)
NFC Tag Emulator
を使用するには、ロックされている端末のどこかの領域にIDを書き込む必要があるようで、それには当然Rootが必要なようなので、Root化します。
BootLoaderをアンロックする
設定の開発者向けオプション
からOEMロック解除
とUSBデバッグ
をオンにしておきます。
adb reboot bootloader
fastboot devices
fastboot flashing unlock
英語で確認が出てきますが、指示に従ってください。
確か、*(アスタ)を押せと書いてます。
Unlockが完了したら、再起動してください。
fastboot reboot
boot.imgを取り出し&Patch&Flash
基本的に、Root化するにはboot.img
を取ってきて、magiskでpatchし、bootパーティションにflashすることになります。
ROM配布されている機種なら、ダウンロードして展開すればboot.img
が出てきますが、
MD06P
はROM配布が行われていないので、デバイスから取得する必要があります。
OSを起動した状態で、boot.img
を読み出すことはできないので、一時的に別のImage(GSI)で起動して、読み出す手法をとります。
別Image(GSI)からの起動には、DSU SideLoaderを使用します。(KernelSUは非対応でした)app-release.apk
をインストールしておきましょう。
MD06P
と互換性のあるImage(GSI)を探す必要がありますが、見つけました。
PCでダウンロードして、gz展開して、adb push
でデバイスに転送します。
DSU Sideloaderを起動し、さっきのimgを選択します。
(初回起動時には作業ディレクトリを選択させられます)
インストールを押し、しばらく待機。
指示に従ってください。
GSIで起動したら、開発者向けオプション
から、RootでのUSBデバッグを許可
をオンにする。
adb root
adb shell
mkdir /sdcard/backup_img/
cd /dev/block/by-name/
dd if=boot_a of=/sdcard/backup_img/boot_a.img
dd if=boot_b of=/sdcard/backup_img/boot_b.img
できたら、adb pull
でPCに転送しておいてください。
再起動して、GSIから抜けてください。
元のOSで起動したら、adb pushでデバイスにさっきpullしたboot_a.imgとboot_b.imgを転送
magiskでpatch
PCに転送
できたら、
adb reboot bootloader
でfastbootに入り、
fastboot getvar current-slot // どっちのスロットが使われているか確認するなら
fastboot flash boot_a ./boot_a_patched.img
fastboot flash boot_b ./boot_b_patched.img
再起動。
fastboot reboot
magiskを起動して、Rootアクセスがあるか確認。
余談ですが、リカバリーモードに入るキーコンビネーションがわかりませんでした。
以上。
参考
Discussion