みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

Z11 mini(nx529j)にMoKee(Android 7.1.2ベース)をインストールする

MoKeeをインストールする動機

アマゾンでZ11 mini(nx529j)を買った。結構古いモデルでAndroidバージョンは5.1とか。 今時さすがにそれでは使う気にならなかったので、Android7か8を入れる方法探した。

MoKeeがAndroid7.1.2をベースにしたバージョンを公開しており、 意外と情報が多かったので、これをインストールすることにした。

端末の開発者オプションを有効化する。

いつもの連打で開発オプションをメニューに出し、開発者オプションで以下の項目を有効化する

udevルールの登録

$ sudo vi /etc/udev/rules.d/51-z11-mini.rules

次の内容で作成する

SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"

その後、次のコマンドを実行し、adbで認識できるようにする。

$ sudo adb kill-server
$ sudo adb start-server
$ adb devices
List of devices attached
NX529J  unauthorized

ここでunauthorizedが表示される場合は、端末側でPCを信頼するかアラートが出ているので許可するをタップ。

認識できた場合は次のようにdeviceになる。

$ adb devices
List of devices attached
NX529J  device

fastbootをインストール

次にコマンドを実行し、fastbootをインストールする。

$ sudo apt install android-tools-fastboot

TWRPのイメージをダウンロード

ここDownloadをクリックし、z11_mini_twrp+root.rarをダウンロードする。

その後適当な場所に展開し、z11_twrp.imgを抽出する。

端末のパーティションをバックアップ

TWRPのイメージで起動

まずはTWRPのイメージを書き込まずにTWRPで起動してみる。

fastbootモードで端末を再起動する。

$ adb reboot bootloader

z11_twrp.imgを保存した場所に移動し、次のコマンドで起動する。

$ fastboot boot z11_twrp.img

TWRPの画面でBackupを選択する。

次の項目をバックアップする。

  • System
  • Data(excl. storage)
  • Recover
  • Boot
  • EFS
  • Firmware
  • System Image

Backup Complete Successfulが表示されたら、Reboot Systemをタップする。

バックアップしたファイルをPCに保存する

バックアップしたファイルを次のコマンドでPCに保存する。

$ mkdir z11_mini_backup
$ cd z11_mini_backup
$ adb pull /storage/sdcard0/TWRP/BACKUPS/Nubia_Z11_mini/2018-12-14--03-48-57_NX529J_ENCommon_V123

この時点で10GBくらいあるので、端末側からはバックアップデータを削除する。

カスタムROMのイメージをダウンロード

ここからMK71.2-nx529j-181128-RELEASE.zipをダウンロード

次のコマンドで、zipを端末にコピー

$ adb push MK71.2-nx529j-181128-RELEASE.zip /storage/sdcard0/

gappsイメージをダウンロード

ここからopen_gapps-arm64-7.1-pico-20181017.zipをダウンロードする。

gappsにはnanoやpicoなどのパッケージがあるが、それらの差分はここを参照。

とりあえず、最小限のpicoをインストールする。

$ adb push open_gapps-arm64-7.1-pico-20181017.zip /storage/sdcard0/

カスタムROMとgappsのインストール

TWRPの書き込み

z11_twrp.imgを保存した場所に移動し、次のコマンドでTWRPを書き込む

$ adb reboot bootloader
$ fastboot flash recovery z11_twrp.img

次に端末側でreboot to recovery modeを選択する。

インストール済みのOSを削除

TWRPでWipe->Advanced Wipeの順でタップする。

次に以下の項目をチェックしてSwipe to Wipeを行なう。

  • Dalvik ART Cache
  • System
  • Data
  • Cache

次にTWRPのメインメニューに戻りInstallをタップする。

MK71.2-nx529j-181128-RELEASE.zipを選択したあと、Add more Zipsをタップし、open_gapps-arm64-7.1-pico-20181017.zipを選択する。

次にSwipe to confirm flashを実行するためにスワイプする。

すべて書き込みが成功しdoneが表示されたら、Reboot Systemをタップし再起動する。

次回起動時にMOKEEの設定画面が表示されれば成功。

注意点

TWRPとしてTWRP_3.2.1-5_nx529j.imgを使用すると、カスタムROMのインストール時にエラーが発生するので、z11_twrp.imgの方を使用すること。

間違ってTWRP_3.2.1-5_nx529j.imgを書き込んだ場合でも、fastbootモードで起動すればTWRPのイメージを書き直せるので、致命的な失敗になることはないと思われる。

参考

udevルール TWRP及びカスタムロムの書き込み []