nplの小部屋

しっかりブログ的なものを書くときもあれば雑なメモのときもある

Ubuntu Touchを試すため、utqemuをインストールしてみた。

Ubuntu Touchを仮想環境で試す方法について調べたことを簡単にまとめていきます。

Ubuntu Touchって何ぞや

Ubuntu Touchとは、Ubuntuの開発元であるCanonicalが、iOSAndroidに対抗するために作ったモバイルOSです。

Home | Ubuntu Touch

現在は開発方針についてなんやかんやあった結果、UBportsが管理しています。

Ubuntu TouchはAndroidのカスタムROMと同じような方法で、対応する端末にインストールすることができます。

Ubuntu Touchの仮想イメージ

開発者向けにUbuntu Touchの仮想環境が提供されていないか、Ubuntu Touchの開発者向けドキュメントを読んだり(ついでに翻訳したり)していたところ、utqemuという、Ubuntu TouchのQEMU環境が提供されているのを見つけました。

GitHub - ubports/utqemu: Ubuntu touch qemu virtual machine

utqemusnapで提供されています。

とりあえず手元の環境で試す

環境

手順

1, 端末を開き、utqemuをインストール

sudo snap install utqemu --edge

2, qemu-virgilをインストール

README.mdでインストールする項目として書かれていないものの、インストールする必要があります。

sudo snap install qemu-virgil --devmode

3, 接続

sudo snap connect utqemu:kvm

4, Ubuntu TouchのQEMUイメージを取得

utqemu create

5, 以下のコマンドで起動

README.mdには「utqemu startを使え」と書かれていますが、以下のコマンドでなければ起動しないことがIssueで報告されています。

qemu-virgil -enable-kvm -m 2G -device virtio-vga,virgl=on -display sdl,gl=on -netdev user,id=ethernet.0,hostfwd=tcp::10022-:22 -device rtl8139,netdev=ethernet.0 ~/snap/utqemu/common/ubuntu-touch-mainline-generic-amd64.img

ちなみにqemu-virglなしだと以下のエラーで止まります。

$ utqemu start
qemu-system-x86_64: -device virtio-vga,virgl=on: Property '.virgl' not found

これでUbuntu Touchの仮想イメージが起動します。

ざっくりとした使用感

OSバージョン

どこにもOSのバージョン情報が書かれておらず、いつビルドされたものかもわかりません。

とりあえずTerminalでuname -aを入力してみたところ、

Linux ubuntu-phablet 4.15.0-142-generic 146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

と帰ってきました。少なくともUbuntu16.04 LTSベースである模様。

一方、ファイルアプリを開くと、ファイルの作成(最終アクセス?)日は2022年となっています。

2022年にビルドされたものなのでしょうか...?

とりあえずここまで。

追記(10月5日)

一応utqemuQEMUのバイナリなどを持っているなので、本当はutqemuだけで完結するはずのパッケージのようです。

でも、qemuのパスを直接指定して使った結果は以下のとおり…

$ /snap/utqemu/current/usr/bin/qemu-system-x86_64 -enable-kvm -m 2G -device virtio-vga,virgl=on -display sdl,gl=on -netdev user,id=ethernet.0,hostfwd=tcp::10022-:22 -device rtl8139,netdev=ethernet.0 ~/snap/utqemu/common/ubuntu-touch-mainline-generic-amd64.img
/snap/utqemu/current/usr/bin/qemu-system-x86_64 -enable-kvm: error while loading shared libraries: libbrlapi.so.0.6: cannot open shared object file: No such file or directory

ライブラリ不足…(ソースコードを見るとstage-packageにちゃんと入ってるので謎)