Mono Works

チラシのすきま

Gemini PDAをLinuxとAndroidのマルチブートにしてみる

Gemini PDAで、Linuxを使ってみたかったので、Androidとのマルチブートにしてみました。

今日時点で、公式サイトで案内されているfirewareは、以下のとおり。

  1. Gemini Android-only firmware
  2. Gemini Multi-Boot Firmware (Debian Linux, Sailfish OS, Standard and Rooted Android)
  3. Team Win Recovery Project (TWRP alternative recovery image)
  4. Lineage OS preview
  5. Source Code https://github.com/dguidipc

今回、ワタシが試したのは、2のマルチブートです。こちらの説明によると、マルチブートにより、標準のAndroid、root化したAndroid、Debian Linux、Sailfish OSが混在可能と書かれてます。

公式:Gemini Firmware - Planet Computers

マルチブート化の手順

手順は、Linux Flashing Guideに書かれているとおり。まずは、注意事項から。

注意事項

注意事項 1つ目は、フラッシュするとデータが消えてしまうので、作業前にバックアップしといてねというもの。注意事項 2つ目は、他のツールを使ってフラッシュするとIMEI消えちゃったりするから気を付けて。特に、SP Flash ToolFormat all + downloadオプションは使っちゃダメ。絶対にだ。

大まかな流れ

  1. ドライバとFlashToolの準備
  2. 起動OSの種類と割り当てるパーティションのサイズを決定し、設定ファイルとファームウェアをダウンロード
  3. Gemini PDAにファームウェアをフラッシュ

ワタシは、Windows PCで作業しましたので、以下、Windows上での作業となります。

FlashToolの準備

ドライバをこちらからダウンロード。解凍したファイルの中からinstall.batを実行。不明な発行元と出るけど、くじけず実行。

ドライバのインストールが終わったら、FlashToolをダウンロードして解凍。ツールの実行は、flash_tool.exeを起動します。詳細は後ほど。

パーティション設定とモジュールのダウンロード

Gemini Partition Toolページで、以下の作業をおこないます。

  1. フラッシュするGemini PDAのバージョンを選択
  2. デフォルトで起動するOSを選択(通常のAndroidにしました)
  3. 通常以外のモードで起動するOSを選択(Debianにしました)
  4. OSに割り当てるパーティションサイズを決定(半分ずつにしました)
  5. フラッシュの定義ファイルのscatter fileをダウンロード
  6. 各OSのファームウェアをダウンロードして解凍
  7. 定義ファイルと解凍したファームウェアのファイルをすべて同じフォルダ内に配置

LTE版のGemini PDAには、X25版とX27版があり、設定 -> 無線とネットワークに SIMカードという設定項目があればX27版で、なければX25版と書かれてます。ワタシのGemini PDAはX27版でした。また、定義ファイルの scatter file (Gemini_x27_AxxGB_LxxGB_Multi_Boot.txt)は、今後OSアップデートなどあった場合に、データを消去せずにアップデートをおこなうのに必要となるので、必ずバックアップを取っておくように書かれてます。

なお、起動OSは、以下の起動方法に照らし合わせて、好みのOSを設定します。

起動方法

  1. 電源OFFの状態からEscキーを1秒押すと、起動プロセス開始
  2. 数秒後に画面が点灯し、Geminiは、下記のいずれの状態かをチェックして起動するOSを判定する
モード 各モードの起動判定
Boot1 キーやボタンが押されていない場合には、Boot1に設定したデフォルトOSが起動
回復モード Escキーを押したままにしていると、リカバリモードで起動
Boot2 スマートボタン(向かって右側面にある銀のボタン)を押したままにしていると、Boot2に設定したOSが起動
Boot3 Escキーとスマートボタンを同時に押したままにしていると、Boot3に設定したOSが起動

ワタシは、Boot1にAndroid、Boot2と3にDebianを割り当てました。

強制再起動

なんらかの原因でフリーズしてしまった場合など、強制敵に再起動するには、Escキーとスマートボタンを20秒ほど押し続けるといいそうです。幸いにもまだ未体験。

フラッシュ!!!!!!!!!

Flash Toolの設定

Windows Flash Toolのflash_tool.exeを起動して、Scatter-loading Fileにダウンロードした定義ファイルを選択すると、下記画面のように各メモリマップにダウンロードしたファイルが割り当てられます。すべてのパーティションにチェックが入っていれば、OKです。

NVRAMパーティションのバックアップ

マルチファームウェアをフラッシュする前にIMEIなどの重要な情報が入ったNVRAMパーティションのバックアップが推奨されているので、下記手順でバックアップをおこないます。

  1. Readbackタブに移動し、Addをクリック
  2. 1行目にバックアップ先が表示されたら、Read Backをクリック
  3. Gemini PDA(向かって左側)とPCをUSB接続し、Escキー長押しして、Gemini PDAを再起動
  4. フラッシュツールがユニットを検出し、NVRAM0ファイルをバックアップすると、下記画面のようになります

バックアップ先にNVRAM0ファイルができていれば、NVRAMパーティションのバックアップ完了です。このNVRAM0ファイルとscatter fileを大切に保存しておくようにと書かれてます。

なお、説明では再起動しろとなっていますが、この作業の後、Gemini PDAは起動してきません。いったんGemini PDAからUSBケーブルを抜いて、Escキー長押しで起動しておきます。

ようやくFlash

  1. Downloadタブに移動し、Firmware Upgradeオプションを選択
  2. Downloadをクリック
  3. Gemini PDA(向かって左側)とPCをUSB接続し、Gemini PDAEscキー長押しして、Gemini PDAを再起動
  4. フラッシュツールがユニットを検出し、ファームウェアのフラッシュが始まります

この画面になったらファームウェアのフラッシュが完了です。

マルチブート起動

フラッシュが完了したら、Gemini PDAからUSBケーブルを抜いて、Escキー長押しで起動して、すぐにスマートボタンを押し続けていると、Linuxが起動しました。こばこさんの記事では、起動~デスクトップ表示~稼働まで随分と待たされたと書かれていたので、かなり待つつもりでいたのですが、下の画像のようになるまで起動から1分くらいだったので拍子抜けしました。最適化とかされたのでしょうか。

Androidの方は、通常起動するはずが、なぜかフラッシュ直後は、リカバリーモードに入るようになってましたので、いったんwipeして再起動したら、通常のAndroidが起動しました。

参考:Gemini PDAをデュアルブートに変更: こばこのひみつ

Debian 25th years

奇しくも、この作業を開始した2018/08/16は、Debian Project誕生から25年を迎えるという節目の日であったそうで、これも何かの縁かなと感じております。

参考:2018年8月17日 Debian,25歳になる:Linux Daily Topics|gihyo.jp … 技術評論社

おしまい。

コメント

コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内