Open5

FZ-M1 に Ubuntu 22.04 及び Android-x86 を導入する際に得られた幾つかの知見及び問題点

Z.OOL.Z.OOL.

初めに

この度、 Panasonic TOUGHPAD FZ-M1 (以下、 FZ-M1) を入手する事が出来たので、当該機に Ubuntu 22.04 及び Android-x86 を導入する際に得られた知見若しくは気付いた点等について幾つか述べます。

なお、本稿は簡潔なメモ書きとなる為、順序が若干前後する事を御了承下さい。

Z.OOL.Z.OOL.

FZ-M1 の現況

現在、当方の手元の FZ-M1 には、以下の OS が導入されています。

  • Windows10 (プリインストール)
  • Ubuntu22.04
  • Android-x86 8.1-r6

なお、これらは GRUB2 を介してマルチブートが可能な状況となっています。

Z.OOL.Z.OOL.

現状で判明している問題の対処法

再起動を行っても UEFI BIOS の設定画面を表示出来ない場合の対処手法

FZ-M1 において、 UEFI BIOS の設定画面を起動させようと USB 接続のキーボードより、 ESC 若しくは F2 キーの押し下げと共に電源を投入しても、 UEFI BIOS の設定画面が表示されず、直ちに Windows10 が起動する問題が発生する場合があります。

この場合は、 Microsoft 公式の Windows 10 高速スタートアップを無効にする方法を参考にして、 Windows10 の高速スタートアップを無効にする必要があります。

Wubi に基づく Ubuntu 22.04 の導入が出来ない問題

現時点において、 Ubuntu 22.04 は、 Wubi に基づく導入には非対応です。

この場合は、 Ubuntu 22.04 を導入する為の USB ブータブルメディアを作成した上で、 FZ-M1 の USB インターフェイスに Ubuntu 22.04 の USB ブータブルメディアを接続して Ubuntu 22.04 を起動し、 Ubuntu のインストール時に既存の Windows パーティションを分割する必要があります。

Z.OOL.Z.OOL.

現状で原因等が判明していない問題

Android-x86 及び Ubuntu 22.04 の画面輝度が著しく低い問題

FZ-M1 の電源を投入して Android-x86 及び Ubuntu 22.04 を起動した際に、画面の輝度が低く、画面の視認性が著しく低下する現象が発生することがあります。

この現象は、 Windows10 を起動した際には発生しないため、一旦 Windows10 を起動した上で、画面の輝度が十分に明るくなったことを確認した後に、 Windows10 を終了させて、改めて Android-x86 及び Ubuntu 22.04 を起動すると、問題が解決する場合があります。

しかし、上記の手法によって Android-x86 及び Ubuntu 22.04 を再起動させた場合でも、画面の輝度が低くなる問題が再現する場合があります。

目下、以下の点について調べています。

  • Android-x86 及び Ubuntu 22.04 でバックライト若しくは画面輝度に関する設定。
  • FZ-M1 のファームウェアにおける画面輝度の設定について。

Android-x86 において Suspend-to-RAM による端末のスリープ

FZ-M1 上において、 Android-x86 を使用する際は、画面のみをスリープさせるだけでは、バッテリーの消耗が著しいため、端末を使用しない時は Android-x86 を Suspend-to-RAM (PC におけるサスペンド) に基づいてスリープさせる必要があります。

Android-x86 においては、 PC 上の Linux カーネルの場合と同様に、コンソールより以下のコマンドを実行することにより、 Suspend-to-RAM によるスリープが可能です。

 $ su -c "echo mem > /etc/power/state"

しかし上記の手法では、端末の Suspend-to-RAM からの復帰の際に、画面表示や無線 LAN 等のデバイスの動作の回復等に影響を与える可能性があるので、 Android において、 Suspend-to-RAM によるスリープを行うアプリ等について調査中です。

Z.OOL.Z.OOL.

その他について

Ubuntu 22.04 のパーティションに Android-x86 を導入する

今回、 FZ-M1 において、 Android-x86 を導入する手法としては、 Ubuntu 22.04 より、 android-x86_64-8.1-r6.rpm をダウンロードした上で、以下の通りにインストールを行います。

 $ sudo -s
 # cd /
 # alien -ci /path/to/download/android-x86_64-8.1-r6.rpm    # (ここに、 /path/to/download は、 anroid-x86_64-8.1-r6.rpm のダウンロード先)

上記のインストールにより、ディレクトリ /android-8.1-r6 以下に、 Android-x86 を起動するために必要なファイル群を置き、 /etc/grub/custom.cfg/android-8.1-r6 以下に置かれた Android カーネルをブートするための GRUB2 の引数及び Android-x86 を移動するためのメニューエントリーが記述されます。

より具体的には、ディレクトリ /android-8.1-r6 には、以下のファイルが置かれます。

  • kernel … カーネルイメージ
  • initrd.img … 起動時に使用する initrd イメージ
  • ramdisk.img … RAM ディスクイメージ
  • system.sfs/system パーティションを格納した loopback ファイル
  • data//data ディレクトリ以下の内容が格納されたディレクトリツリー

以上のように、 Android-x86 が使用するファイル群と Ubuntu 22.04 が使用するファイル群を同一のパーティションで共有して Android-x86 と Ubuntu 22.04 の相互間でストレージのリソースを有効に使用することが出来ます。

また、 Android-x86 が使用するファイル群を /android-8.1-r6 ディレクトリ以下に分離する事により、 Android-x86 と Ubuntu 22.04 の環境を相互に破壊すること無く Ubuntu 22.04 の環境に Android-x86 環境をデュアルブートの形で導入することが出来ます。