トップ «前の日記(2018-12-31) 最新 次の日記(2019-01-08)» 編集

Days of Speed

過ぎゆく日々を書こう。忘れっぽい未来の自分のために


2019-01-05

_ Teclast F6 ProにAndroid x86をインストールしてDebianとデュアルブートにして使う

今、自分が使っているノートPCのTeclast F6 Proは、画面がタッチパネルで折りたたむとタブレット形態になります。 これにAndroid-x86 Projectをインストールしたら使えるのでは?と思って試したら、とても使い勝手がよかったので情報として書いておきます。

最初に「デュアルブートにする」といっても、Android x86はLinux上にインストールして使うものなのでWindowsの人はごめんなさい。ま、使いたい人はWindowsを消してDebianに入れ替えればいいと思うよ。

Android x86のrpmパッケージをダウンロード

Android x86のページからrpmパッケージ版のAndroid x86をダウンロードします。

利用するAndroidのバージョンは、最新の8.1-rc2(2019/1現在)は、たまに挙動がおかしなことがあるので安定して使いたい人はcm-x86 14.1-r2か7.1-r2を使うのがよいでしょう。

alienを使ってdebに変換してインストール

alienを使ってrpmパッケージをdebパッケージに変換します。パッケージの変換は、ユーザー権限のまま行いたいのでalienと一緒にfakerootパッケージもインストールしておきます。

   $ sudo apt install alien fakeroot

インストールしたらdebパッケージに変換します。

   $ fakeroot alien -dc android-x86-8.1-rc2.x86_64.rpm

リリースページに書いてあるコマンドですが、「-ci」というオプションは変換してそのままインストールをするという危険な方法なので真似しないほうがいいと思います。

しばらくするとdebパッケージができるので、dpkg -c でdebパッケージ内のファイルを確認しましょう。

   $ dpkg -c android-x86_8.1-1_amd64.deb
   drwxr-xr-x root/root         0 2019-01-05 11:23 ./
   drwxr-xr-x root/root         0 2019-01-05 11:22 ./android-8.1-rc2/
   -rw-r--r-- root/root   1358701 2018-10-18 17:34 ./android-8.1-rc2/initrd.img
   -rw-r--r-- root/root   7344992 2018-10-18 17:34 ./android-8.1-rc2/kernel
   -rw-r--r-- root/root   1425194 2018-10-18 17:34 ./android-8.1-rc2/ramdisk.img
   -rw-r--r-- root/root 878026752 2018-10-18 17:34 ./android-8.1-rc2/system.sfs
   drwxr-xr-x root/root         0 2019-01-05 11:23 ./usr/
   drwxr-xr-x root/root         0 2019-01-05 11:23 ./usr/bin/
   -rwxr-xr-x root/root      1868 2018-10-18 17:34 ./usr/bin/qemu-android
   drwxr-xr-x root/root         0 2019-01-05 11:23 ./usr/share/
   drwxr-xr-x root/root         0 2019-01-05 11:23 ./usr/share/doc/
   drwxr-xr-x root/root         0 2019-01-05 11:23 ./usr/share/doc/android-x86/
   -rw-r--r-- root/root       171 2019-01-05 11:23 ./usr/share/doc/android-x86/changelog.Debian.gz
   -rw-r--r-- root/root       942 2019-01-05 11:23 ./usr/share/doc/android-x86/copyright

/(ルート)直下に大きなイメージファイルを置くだけのようですね。qemu-androidというコマンドも気になりますが、とりあえずはインストールしてみましょう。

   $ sudo dpkg -i android-x86_8.1-1_amd64.deb
   以前に未選択のパッケージ android-x86 を選択しています。
   (データベースを読み込んでいます ... 現在 378014 個のファイルとディレクトリがインストールされています。)
   android-x86_8.1-1_amd64.deb を展開する準備をしています ...
   android-x86 (8.1-1) を展開しています...
   android-x86 (8.1-1) を設定しています ...
   Generating grub configuration file ...
   テーマを見つけました: /boot/grub/theme/Vimix/theme.txt
   Found background image: /usr/share/images/desktop-base/desktop-grub.png
   Linux イメージを見つけました: /boot/vmlinuz-4.19.13-sipodev
   Found initrd image: /boot/initrd.img-4.19.13-sipodev
   Linux イメージを見つけました: /boot/vmlinuz-4.19.0-1-amd64
   Found initrd image: /boot/initrd.img-4.19.0-1-amd64
   Linux イメージを見つけました: /boot/vmlinuz-4.18.6-sipodev
   Found initrd image: /boot/initrd.img-4.18.6-sipodev
   Adding boot menu entry for EFI firmware configuration
   完了

Grubも更新されました。今、インストールしているDebian環境はUEFIとGrubを使っていますが、問題なく更新されました。 インストール作業は、これで終わりです。

実機でAndroid x86を使う

実機で使う場合は、再起動するとGrubのメニューにAndroid x86が追加されているので選ぶだけです。

Teclast F6 Proではタッチパッドは使えませんが、タッチパネルとキーボードは使えるので実用上困らないと思います。折りたたんでタブレットにすれば普通のAndroidタブレットと同じですが、画面の回転が強制回転にしてもできないので使えるのは横画面のみになります。

Debian上からAndroid x86を使う

気になるqemu-androidというコマンドですが、これはqemuを使ってインストールイメージを起動するスクリプトです。qemuとkvmをインストールした環境で、このコマンドを実行するとLinux上でAndroidが使えます。便利ですね。

では、qemu-androidを実行してみましょう。desktopファイルは登録されていないのでターミナルから実行してください。

   $ qemu-android

   /android-8.1-rc2/data subfolder exists.
   If you want to save data to it, run /usr/bin/qemu-android as root:

   $ sudo /usr/bin/qemu-android

   Please Enter to continue or Ctrl-C to stop.

Enterキーを押すと、こんなエラーが出て止まります。(7のときはエラーが出ても起動してたのでタイミングの問題かもしれないけど)

   qemu-system-x86_64: Display 'sdl' is not available.

Debianのqemuは、表示にgtkを利用するためにsdlが無効になっています。しかし、qemu-androidではsdlが指定されているのでエラーになります。

オプションを変更すれば良いことがわかったのでスクリプトを修正します。 表示関係のqemuオプションを確認するとこうなっています。

   Display options:
   -display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]
               [,window_close=on|off][,gl=on|core|es|off]
   -display gtk[,grab_on_hover=on|off][,gl=on|off]|
   -display vnc=<display>[,<optargs>]
   -display curses
   -display none
   -display egl-headless[,rendernode=<file>]                select display type
   The default display is equivalent to
           "-display gtk"

sdlをgtkに置換するだけで良いみたいですね。ということでスクリプトの最後にある起動部分のオプションを置換した結果がこちらです。

   $ diff -u qemu-android.orig qemu-android
   --- qemu-android.orig	2019-01-05 12:03:38.314022031 +0900
   +++ qemu-android	2019-01-05 12:08:42.838152569 +0900
   @@ -65,7 +65,7 @@
    }

    # Try to run QEMU in several VGA modes
   -run_qemu -vga virtio -display sdl,gl=on $@ || \
   -run_qemu -vga qxl -display sdl $@ || \
   -run_qemu -vga std -display sdl $@ || \
   +run_qemu -vga virtio -display gtk,gl=on $@ || \
   +run_qemu -vga qxl -display gtk $@ || \
   +run_qemu -vga std -display gtk $@ || \
    run_qemu $@

これでqemu-androidを実行してもエラーも出ること無く起動するようになりました。

まとめ

これ、ずっと前から使ってて地味に活用してます。 あとは縦画面にできればPDFが読みやすくなるのだけど、誰か教えてください。


2001|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|06|08|12|
2011|01|02|03|06|07|08|09|10|11|12|
2012|01|02|03|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|12|
2014|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|10|11|12|
2017|01|02|11|12|
2018|01|02|03|04|07|09|10|11|12|
2019|01|03|04|

クリエイティブ・コモンズ・ライセンス Jun NOGATA を著作者とするこの 作品クリエイティブ・コモンズの 表示 - 継承 4.0 国際 ライセンスで提供されています。