目次
- はじめに
- スペック
- 参考にしたサイト
- 改造の流れ
- 初期化
- PCのセットアップ
- bootloader unlock
- vbmeta.img・boot.imgを焼く
- 任意のGSIをインストールする
- Magisk・Google Playの導入
- vbmeta.img、boot.imgの吸い出し・その他バックアップ
- 「このデバイスはPlayプロテクトの認証を受けていません」と言われた時
- 【失敗談】ブートループに陥った話
- おわりに
はじめに
真似して文鎮化しても責任は取れません。自己責任でお願いします。
助けてもらって大きな進捗が出たので、8月の記事から大きく変更してあります。
最終的にはAndroud13とGoogle Play ストアをインストールします。
スペック
まず初めに本体のスペックです。
・SoC・・・MediaTek MT8168 4コア2GHz
・メモリ・・・2GB
・ストレージ・・・32GB
・画面サイズ・・・10.1インチ、800×1280
・バッテリー・・・6000mAh
・Androidバージョン・・・10
・モバイル通信、GPSなし
よくある、中華製激安タブレットといった感じです。見た目はこんな感じです。
秋葉原のジャンクタブレットの箱で1000円くらいで売っていそうな見たことのあるような感じです。上に電源ボタンがあって、横にUSB-C、イヤホンジャック、SDカード・simスロットがあります。simスロットが刺さるので、さしてみましたが、機能しませんでした。基板に必要なものが載っていない気がします。電源ボタンの横には穴が2つ空いていて、電源ボタンに近い側は強制シャットダウンボタンになっています。もう一つの方はマイクとかだと思います。
どこかのOEM生産品だと思われますが、同じスペックの端末は見つかりませんでした。CPU-Zで確認してみたところ、ZTE製と書かれていました。少なくとも、このサイトのASUS製というのは間違いなく嘘です。
ちなみに分解はしていませんが、FCCの登録がちゃんとされているので、中身の確認ができます。ここらへんから見れます。激安スマホ・タブレット特有の青色の基板です。バッテリーの固定もテープで止まっているだけで適当です。
参考にしたサイト
りとらいん MT8168のOEM向けタブレット「UATTAB001」にAndroid 12L(GSI)&Magiskを導入する
SMART ASW Project Treble対応のAndroid端末にGSIをインストールする方法(カスタムROM・Beta版)
改造の流れ
ゴールはGSI(任意のAndroid ROM)とGoogle Playを入れて普通のAndroidタブレットとして使用できるようにすることです。
流れとしては、初期化→(バックアップの作成)→bootloader unlock→vbmeta.img・boot.imgの焼き直し→GSIの導入→Google Playの導入といった感じです。
MTKClientが使用できるので、わかる方は改造前に完全なバックアップを取っておくことをおすすめします。
初期化
初期化しないと、チャレンジタッチと同じ様に、設定に入ったりすることが不可能なのでとりあえず初期化します。
1. 電源を切る
2. 音量+ボタンと電源ボタンを長押しして起動する
成功するとこんな感じにブートローダに入れます。
3. recovery Modeを選択
音量上ボタンで選択、下ボタンで確定です。Recovery Modeを選択します。しばらくするとこんな感じの画面になります。
4. リカバリーモードに入る
電源ボタンを押しながら音量+ボタンを押すと下の様な画面になります。
5. 初期化する
音量ボタンで選択、電源ボタンで確定なので、操作してWipe data/factory resetを実行して、初期化します。
6. 再起動する
Reboot system nowを選択して通常通りAndroidに再起動します。
7. 完了
起動時のロゴと同じ様にRISUと表示され、上にステータスバー、下に黒っぽい帯(ナビゲーションバーの死骸)が出たら初期化完了です。
初期化が完了した状態だと、ナビゲーションバー、ステータスバーは使用できませんが、ランチャーが使用できて、下からスワイプすると、アプリの一覧が見えます。戻るボタンや、ホームボタンが存在しないため、アプリを切り替える時は毎回再起動が必要です。アプリ一覧を見ると、RISUのアプリが入っていません。チャレンジタッチとは異なり、システムアプリではないようです。
PCのセットアップ
この先は、ADB、fastbootコマンドが必要です。各自調べて、導入してください。また、fastboot用のドライバも必要です。自分は適当にこちらを使用しました。
bootloader unlock
ブートローダをアンロックすることで、非公式のAndroidイメージを起動させることができます。初期化されます。
1. 開発者向けオプションを開く
設定→システム→開発者向けオプションで開けます。
2. OEM ロック解除を有効化
開発者向けオプションの中にあるので、見つけて有効化します。
3. ブートローダに入る
先程と同じ様に、音量+と電源ボタンで入ります。
4. fastbootを選択
今回はfastbootを選択します。
5. PCに接続する
この状態でPCに接続します。
6. コマンドプロンプトを起動して
fastboot flashing unlock
を実行
7. RISU側(上の写真)で音量+でYesを選択
8. 起動するのを待つ(完了)
確か、7が終わると勝手に再起動されて起動した気がします。
vbmeta.img・boot.imgを焼く
今回は私が抽出したvbmeta、bootを使用した方法を説明しますが、バージョンが異なると起動しなくなるおそれもあるので自分で抽出したほうが良いです。下に、GSIを一時的に入れて抽出する方法を載せておきます。
1. 電源を切る
2. fastbootに入る
いつも通り音量+と電源ボタンでブートローダに入り、fastbootを選択する。PCに接続してください。
3. vbmeta.imgをダウンロードする
こちらから抽出済みvbmeta.imgをダウンロードします。MD5:b05a1bd932838cdba0c7c6e199ede6ab
4. vbmeta.imgを焼く(書き込む)
PCに接続して、fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img
を実行します。vbmeta.img
の部分はダウンロードしたもののパスにしてください。
5. boo.imgを焼く(Magisk・Google Playが必要な場合)
こちらは必須ではありませんが、Google Playのインストール難易度が上がるの焼くのをお勧めします。
こちらからMagisk(26.3)のパッチを適用済みboot.imgをダウンロードします。MD5:d1386862e51434bff84bd6241e936ca2
その後fastboot flash boot boot.img
を実行します。boot.img
の部分はダウンロードしたもののパスにしてください。
任意のGSIをインストールする
Project Trebleに対応している端末であれば、GSI用のROMを選択することで任意のROMを焼くことができます。今回は、Android13なAOSPを焼きました。他にもLineageOSや様々なROMがあります。なお、systemパーティションの容量がかなり小さく、2GB弱で無いといけません。Google Play(GMS)が含まれていてこの容量のGSIは無いと思うのでGoogle Playなしでインストールして後でMagiskでインストールします。
1. GSIのダウンロード
今回使用したAOSPはGoogleの公式ページからダウンロードしています。
aosp_arm64-img-10954093.zip
ダウンロードしたらzipを解凍してください。
2. fastbootに入る。
先程の項から引き続き作業している人はfastbootの状態でいいです。
3. fastbootDに入る
PCに接続し、
fastboot reboot fastboot
を実行します。しばらくすると下のような画面となります。
4. 初期化とsystemのフォーマット
以下の2つのコマンドを実行して行います。
fastboot -w
fastboot erase system
5. GSIを焼く
fastbootのバージョンが古すぎるとエラーが出るので注意(2018年のものを使ってたら出た)
fastboot flash system ダウンロードしたGSIのイメージファイル
ダウンロードしたGSIのイメージファイル
というのはsystem.imgとかのパスです。
6. 再起動
焼き終わったら、fastboot rebootとかで再起動します。
7. 完了
しばらくすると起動すると思います。
Magisk・Google Playの導入
Systemパーティションが小さいので、後でMagisk経由でGoogle Play(GMS)をインストールします。
1. MagiskのAPKをダウンロード
AOSPだとダウンロードができないのでPCでダウンロードします。Magisk(26.3)のAPK。MD5:b98f600dac0bbcbc97fd1d5daa0e21a0
2. PCに接続し、ADBが有効なことを確認
AOSPをインストールした場合ははじめからADBが有効になっています。他のROMをインストールした場合はブートローダアンロックのときと同じように開発者向けオプションを有効にして、USBデバッグ(ADB)を有効にしてください。
3. Magiskをインストール
adb install Magisk.v26.3.apk
Magisk.v26.3.ap
kの部分はダウンロードしたもののパスにしてください。
4. Magisk初回起動
RisuでMagiskが現れると思うので開いて、初期セットアップをしてください。再起動が一回されると思います。
5. MagiskGAppsのダウンロード
Magisk経由でGoogle Playをインストールするのに使用します。
ここから適合バージョンのものをダウンロードしてください。自分はGoogle Play Store以外入らないのでAndroid13用のCore(MagiskGApps-v.a.13.CORE.24.2.23.zip)をダウンロードしました。
6. ファイルの移動
Risu側を操作して、USBを充電ではなく、ファイル転送に変更してください。
その後、PCで先程ダウンロードしたMagiskGAppasを適当な場所にコピーしてください。
7. MagiskGAppsのインストール
RisuでMagiskを開き、右下のモジュールから、ストーレジからイントールを押し、先程コピーしたファイルを選択してインストールしてください。
8. 指示に従い再起動し、インストール完了
これでGoogle Play ストアが使用できます。普通のAndroidタブレットになりました。
「このデバイスはPlayプロテクトの認証を受けていません」と言われた時は下の項を参照してください。
vbmeta.img、boot.imgの吸い出し・その他バックアップ
これからいくつかの項はvbmeta.imgやboot.imgのバックアップ方法についてです。
方法としては、MTKClientを使う方法と、suのあるGSIを焼く方法があります。前者はMTKClientの取り扱いが難しい一方、risu側の操作が少なく、改造前の全体のバックアップを取ることができます。後者は手間が若干かかりますが、比較的わかりやすいと思います。
丁寧に書くのが面倒なので割りとAndroidの改造に慣れている人向けの説明です。
MTKClientを使用する方法
自分はこの方法は今回ブートループに陥るまで知らなかったのでわかりません(自分でREADME.md読んで…)。Windowsでは、USB周りが面倒でエラーが出たので、Linuxでの使用が楽だと思います。
GSIを焼く方法
vbmetaを焼くこと無しで起動でき、suのあるGSIとしてlineage-18.1-20220715-UNOFFICIAL-arm64_bvS.img.xzやsystem-quack-arm64-aonly-vanilla.img.xzがありました。
1. 任意のGSIをインストールする
上で説明したのと同様です。
2. シェルに入る
PCでadb shellを実行。その後、su
3. パーティションの名前、パーティション名を知る
ls -l /dev/block/by-name
4. 本体ストレージ(/storage/emulated/0/)の適当な場所にddでバックアップ
例(boot.img):dd if=/dev/block/mmcblk0p14 of=/storage/emulated/0/boot.img
例(vbmeta.img):dd if=/dev/block/mmcblk0p27 of=/storage/emulated/0/vbmeta.img
一応、これで吸い出した純粋なboot.imgとrecovery.imgをおいておきます。
boot.img MD5:773a246268cb74f631b71c1e4240b2c8
recovery.img MD5:9fa6ec094010313ff725c6bc22db405c
「このデバイスはPlayプロテクトの認証を受けていません」と言われた時
自分の場合はGMSを初めて入れた際に、「このデバイスはPlayプロテクトの認証を受けていません」とエラーが出たのでその対処方です。USBデバッグを有効にしてPCで
adb shell
su
sqlite3 /data/*/*/*/gservices.db "select * from main where name = \"android_id\";"
で端末IDを取得し、端末登録ページでIDを貼り付けます。数分後に再起動するとログインできるようになります。これで晴れて普通のAndroidタブレットとして使えます。
【失敗談】ブートループに陥った話
vbmetaを焼き直さずにMagsik導入済みのboot.imgをインストールしたときの話です。fastbootでfastbootdに入ろうとしたらfastbootにも入れない深刻なブートループに陥りました。
Ubuntuにて、MTKClientをインストールし、接続せずに
sudo mtk w boot boot.img
を実行しました。実行したらUSBを接続し、これでboot.imgを焼くことができました。
おわりに
DSU Loaderを試したりもしてみたんですが、setpropができなかったので断念しました。MediaTekの最近の機種を初めて触ったので色々知らないことが多かったですが、いろんな人の手助けがあってここまでできました。ありがとうございました。