VANKYO S30 に LineageOS を突っ込んだメモ

Diary
この記事は約11分で読めます。

はじめに

 2021/11 に購入した VANKYO の MatrixPad S30 という 10inch タブレット。
 物は良いので未だに愛用中だが、Android OS が Version 9 で流石に古いのでセキュリティ的にもちょっと不安。
 かといって格安タブレットだけあってアップグレードパッチ提供なんていうことは一切無く、購入初期のママの状態で使い続けるほか無かった。

 しかし、このタブレットは Project Treble という OS の実装方法に対応しているとの事で、割と簡単にカスタム OS を導入することが出来るようだった。

 出来るならやるってことで手を出してみた。

準備する物

 タブレット本体と PC に接続するための USB ケーブル他、ソフトウェアの準備が必要となる。
 今回は次の通りの物が必要だった。

タブレット側の下準備

 VANKYO S30 で OS の 設定 を開き、デバイス情報 以下にある ビルド番号タップ連打して開発者向けオプションを有効にする。
 続いてシステム以下開発者向けオプションから OEM ロック解除を ON にする。そのまま USB デバッグ も ON にしておく。

VMware Player で仮想マシンに Ubuntu を入れる

 VMware Workstation Player をダウンロードして Windows にインストール。
 適当なスペックの仮想マシンを作成し、そこに Ubuntu Desktop 22.10 の ISO ファイルをマウントしてやる。
 あとはインストーラーの指示通りにインストールするだけ。細かいインストール方法は省く。

 Ubuntu 起動後は適当にシステムパッケージの更新を行い、次のパッケージをインストールしておく。

sudo apt install adb android-sdk-platform-tools-common 

Bootloader の Unlock を行う

 Ubuntu を起動して /etc/udev/rules.d/51-android.rules を次の内容で作成し、adb や fastboot コマンドによって操作可能な状態にする。

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="0fff", MODE="0666", GROUP="plugdev"

 VANKYO S30 を PC に接続し、VMware Player の仮想マシン側へ接続させたら次のコマンドを打って fastboot mode に切り替える。

adb reboot bootloader

 すると、タブレット側の画面には真っ黒な背景に fastboot mode と左上に小さく表示された状態になる。
 この fastboot mode になっている状態で Ubuntu 側から modified fastboot を用いて制御可能か確認する。
 modified fastboot を展開したディレクトリに移り、次のようにコマンドを打つ。
 正常に認識されていれば OK との文字に続いて文字列が表示される。ダメなら FAILED とか出るはず。

./fastboot devices

 正常に認識されているようであれば続いて次のようにコマンドを実行する。

# token を取得する
$ ./fastboot oem get_identifier_token
...
Identifier token:
5333303332474255535455565758595a
303735363534
OKAY [  0.021s]
finished. total time: 0.021s

# token を元に署名を作成する
$ ./signidentifier_unlockbootloader.sh 5333303332474255535455565758595a303735363534 rsa409                              
6_vbmeta.pem signature.bin                                                                                            
Identifier sign script, ver 0.10                                                                                      
1+0 records in                                                                                                        
1+0 records out                                                                                                       
42 bytes copied, 0.0012507 s, 33.6 kB/s                                                                               
Identifier sign successfully

# ここで Bootloader を Unlock 状態にする
$ ./fastboot flashing unlock_bootloader signature.bin
downloading 'unlock_message'...
OKAY [  0.005s]
unlocking bootloader...
Info:Unlock bootloader success!   OKAY [210.386s]
finished. total time: 210.391s

 正常に完了した場合、VANKYO S30 の画面は以下写真のような表示になっているので確認すること。

 Bootloader が Unlock されると対応しているカスタム OS の中から自分で好きなイメージをダウンロードしてインストールすることが出来るようになる。
 VANKYO S30 にインストール出来るイメージタイプは A/B パーティション用の物から選ぶ必要があるので、この点は要注意。しかし、大概は複数のタイプを用意してくれている場合が多い。

カスタム OS をインストールする

 今回は複数のイメージを試してみたが、上手く行った Android 12 ベースの LineageOS 19.1 を使うことにした。

 ダウンロードは以下より行った。

Andy Yan's personal builds // GSI - Browse /lineage-19.x at SourceForge.net

 イメージファイルは lineage-19.1-20230323-UNOFFICIAL-arm64_bgN.img.xz にした。ダウンロード後には 7-zip 等で中身の img ファイルを展開しておこう。
 ファイル名に bgN とはいっているが、b は A/B パーティション用、g は Gapps 入り、N は Non-rooted を意味する。
 この文字の意味については次のブログを参考にさせて頂いた。多謝

Project Treble対応のAndroid端末にGSIをインストールする方法(カスタムROM・Beta版)
Android 8.0以降に搭載された「Project Treble」という機能。これは利用者側の機能というよ…

 いよいよイメージファイルをインストールする。
 この作業は Windows のターミナルより行ったが、Ubuntu 上でやっても同じだろうかなと思う。

 続いて仮想マシンから VANKYO S30 を切断し、ホスト側の Windows 11 へ接続させた。
 一般権限のターミナル上、PowerShell から次のようにコマンドを打ってインストールを行った。
 Bootloader Unlock には modified fastboot を使用したが、ここはオリジナルの fastboot を使用している。

# LineageOS 19.1 をインストールする
PS S:\Android> .\platform-tools\fastboot.exe -S 100M flash system .\lineage-19.1-20230323-UNOFFICIAL-arm64_bgN.img
Sending sparse 'system' 1/28 (102396 KB)           OKAY [  3.497s]
Writing 'system'                                   OKAY [  3.596s]
Sending sparse 'system' 2/28 (102396 KB)           OKAY [  3.496s]
Writing 'system'                                   OKAY [  3.561s]
Sending sparse 'system' 3/28 (102396 KB)           OKAY [  3.507s]
Writing 'system'                                   OKAY [  3.523s]
(Snip...
Writing 'system'                                   OKAY [  3.526s]
Sending sparse 'system' 28/28 (102396 KB)          OKAY [  3.494s]

# インストール完了後は VANKYO S30 を再起動させて完了
PS S:\Android> .\platform-tools\fastboot.exe reboot

 VANKYO S30 がうまく起動しないようであれば再度 PC に接続して recovery mode から Factory Reset を行えば良い。
 recovery mode は次のように一旦端末の中に入ってからそこでコマンドを打ち込まないと上手く起動出来なかったという謎現象もあった。
 この辺はおま環である可能性もあるから各自要確認となるだろう。

PS S:\Android> ./platform-tools/adb shell
$ reboot recovery

古い格安タブレットでも新しい OS が動く

LineageOS 19.1 の初期設定画面

 このタブレットも古いし OS アップデートどころかセキュリティパッチすら配信されないし、どうしたもんかなーといった時に偶然見つけた以下 Qiita の記事がきっかけでこうして新しめの OS を動作させることが出来た。
 非常にありがたく、感謝の念しかないなと。

Android9 プリインストールデバイスに AOSP11 をインストールしてみた - Qiita
VANKYO S30というAndroidタブレットにAOSP11(の、有志ビルド)をインストールしてみました。何点か引っかかるところが合ったのでどなたかの参考になれば幸いです。※ root化、ROM焼きは brick(文鎮)化す...

 こちらの方の記事も詳しく書かれているので、一通り目を通すことをオススメする。

 「スペック的に用途を絞れば――」という条件付きで非常に良いタブレットだが、そろそろ他の事もやりたいなーと思ってきたから買い換えの時期も近いのかもしれない。

その後おなくなりに

 LineageOS 19 で暫く使用していたが、なんだかバッテリーの減り具合が凄かったもんで、別の OS も試してみようかと考えた。
 そこで Evolution X という物を選んで fastboot.exe でイメージを転送していたら Failed との表示が出て失敗に。
 ファイルサイズが 3.59GB と LineageOS 19 の 2.69GB よりも遙かに大きいのでこれが原因かな―― と、次は slim 版 3.35GB の物でやってみたら成功した。
 fastboot.exe reboot と打ち込んで起動するのを楽しみに待っていると、VANKYO ロゴが付いたり消えたりを繰り返しているだけだった。
 リカバリーモードも fastboot モードにも入ることが出来ないのでちょっとこれブリック化した! なんて結果に終わった。

 次は T618 クラスの 10inch タブレットを狙ってみよう……

 ということで、Project Treble 対応端末であっても、油断したら逝くぽいのでご注意を。

 どうやら容量の大きなイメージは漏れなく失敗する感じなので、3GB 以上あるものは一応要注意ということになる。

何か復活した

 2023/04/02 に逝かれて 5 日経過した 2023/04/07。
 もう諦めかけていたので分解してぽちぽちしていたら突如リカバリーモード突入
 タッチパネルのセンサー用フレキケーブルを抜いていたのが勝因なのか良く分からないが、結果としてよかったなと。

 今回は素直に容量の小さい phh 氏の AOSP を焼いて大人しく使って行こうと心に誓った。

著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 2 児の父なアラフォーのおじさんです。

ぶっちをフォローする
ぶっちろぐ

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.