Bootloader Unlockしてroot化やロム焼きを楽しんだ後のRakuten MiniでOTAアップデートしようとするとエラーが出てしまいます。そこで、エラーなくアップデートできる方法をメモしておきます。
元の状態に戻せばアップデートできる
Rakuten Miniに限らずですが、Androidのソフトウェアアップデートではシステムの状態がチェックされるため、一度でもroot化などをするとインストールエラーが発生します。
この場合systemやbootなどを弄っていない元の状態に戻せば、正常にアップデートできるようになります。
Rakuten Miniのファームウェアダンプはこちらに保存しているので、お使いのバージョンのフォルダから各イメージをダウンロードしてください。
なお届いた時期によって初期ファームウェアが違う都合上、一部揃っていないファイルがあります。C330AE_9.0_RMN_JP_68_SSやC330AE_9.0_RMN_JP_72_SSは必要なファイルがすべて揃っているのでおすすめです。
元の状態に戻すには2種類の方法があります。
1. fastbootで焼く
Bootloader Unlockする際、fastboot flashing unlock (またはfastboot oem unlock)
のほかにfastboot flashing unlock_critical
も実行している場合はこちらの方法で元に戻せます。
fastboot flash boot boot.img
fastboot flash devcfg devcfg.img
fastboot flash devcfgbak devcfgbak.img
fastboot flash dtbo dtbo.img
fastboot flash dtbobak dtbobak.img
fastboot flash modem modem.img
fastboot flash rpm rpm.img
fastboot flash rpmbak rpmbak.img
fastboot flash sbl1 sbl1.img
fastboot flash sbl1bak sbl1bak.img
fastboot flash system system.img
fastboot flash tz tz.img
fastboot flash tzbak tzbak.img
fastboot flash vbmeta vbmeta.img
fastboot flash vbmetabak vbmetabak.img
fastboot flash vendor vendor.img
を実行することにより、アップデートに必要なパーティションをすべて元の状態に戻せます。
ちなみに、dtbobakなど「bak」と付いているものは「bak」と付いていないほうと同じイメージを焼いてしまっても大丈夫です。(例:fastboot flash dtbobak dtbo.img
)
これでシステムアップデートで正常にインストールできるようになります。
Androidロゴで再起動ループしてしまう場合は、こちらのvbmeta.imgをダウンロードして、fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
を実行してみてください。
fastbootが古いと焼くのに失敗することもあるので、こちらの公式ページから最新版のSDK Platform-Toolsをダウンロードしてインストールしてください。非公式のワンクリックツールだと更新されていないことが多いので注意してください。
2. TWRPで焼く
fastboot flashing unlock_critical
していなかったり、1. の方法でもエラーになる場合は、TWRPでインストールしてしまいましょう。
TWRP-3.4.0-1ではOTAのZIPをインストールできるよう修正を加えました。
Rakuten Mini用カスタムリカバリ TWRP が完成。データ復号も可能 – AndroPlus
まずはMagiskでroot化して、システムアップデートでOTAをダウンロードしてください。「インストール中…」のあたりで/cache/update.zip
にOTAのZIPが保存されるので、
adb shell
su
dd if=/cache/update.zip of=/sdcard/update.zip
で内部ストレージへとZIPをコピーしてください。タイミングによってはダウンロード途中でコピーしてしまいファイルが破損するので、ZIPを開いてみてちゃんと中身が見られるか確認してください。
OTAのZIPを手に入れられたら、内部ストレージに各イメージを保存してください。
Bootloaderへ再起動し、fastboot boot TWRP-3.4.0-1_C330.img
でTWRPを起動します。
「インストール」で「イメージのインストール」を選んでインストールしていくか、adb shellにて
dd if=/sdcard/sbl1.img of=/dev/block/bootdevice/by-name/sbl1
のようにif側に内部ストレージのイメージ名、of側にインストール先パーティションを書いて実行すればインストールできます。
コマンドの場合、間違ったパーティションにインストールしてしまうと文鎮化するので気をつけてください。
systemについては、TWRPの「マウント」のところで「System を読み取り専用でマウントする」のチェックが外れているとTWRPがマウントしてしまい、エラーになってしまいます。チェックを付け直した後TWRPを再度起動して、systemをインストールし直してください。
すべて元のイメージに戻せたら、OTAのZIPをインストールしてください。
アップデートが完了したら、こちらの方法のどちらかでイメージバックアップしておきましょう。
Rakuten Miniの中でもC330AE_9.0_RMN_JP_55_SS_MR搭載バージョンはどうもセキュリティアップデートが2019年12月5日のまましばらく放置されるようなので、OTAを待たずにC330AE_9.0_RMN_JP_72_SSのイメージを焼いてしまうのも一つの手だと思います。