nowこのタイミングでx11vnc入れておく。これでKVMGTなゲストが起動できる準備は整いました。残念ながら、libvirtやvirt-managerは使えません。物理FBが使用されるので、virt-viewerも使えません。ゲストコンソールにアクセスしてもうんともすんとも。頑張ればどうにかなるのだろうか。この辺りは、Xenの方が管理ツールが少し使える分扱いやすいかも。最初に書いたとおりリモート操作前提なので、ゲスト上でx11vncを起動する必要がある。IPアドレスが分からないといけない。そこで、以下のような起動スクリプトにした。$_}'起動してゲストのネットワークが確立するとき、ルータとのDHCPハンドシェイクでIPアドレスがわかる。それを表示するのが最後の1ラインスクリプト。表示されてIPアドレスが分かったらCtrl+Cでシェルスクリプトを終わらせる。OpenSSHはどんな場合でも入れているので、IPさえ分かれば何とかなる。接続これで、物理ディスプレイ前にいなくても、めでたくゲストデスクトップへ接続できたと。ゲストディスプレイ解像度は、物理ディスプレイが接続されていればそれに依存する。物理ディスプレイやEDIDエミュレータとか繋がなくても、ゲストで物理FBとGPUを使うことが出来るのが最大の魅力。完全に自由な解像度で、というわけには行かないようだ。インダイレクトモードでのmonitor.configがその要求に答えてくれそうだが、機能しているかどうか体感できず。XenGTとKVMGT両方やってみたが何はともあれ、安定性は大差ない気がする。XenGTの方がXenツールも込みなので、ゲスト管理がしやすいかな。最後にここに書いたように無理にx11vnc使ってリモート操作する必要はない。していれば)自動的にディスプレイが切り替わる。自分がやりたいのは、物理も仮想もモニタレスでリモートでGPUアクセラレーションが効いていて全てを同時に使うことなので、こんな流れになった。素直に使えばもう少し安定するっぽいけど、それではつまらないのでね。パート2前回のパート1ではプリセットされたISOをインストールしてみただけだったが、パート2ではカーネルビルドするところからやってみることにする。2つ目のゲストが起動しないという問題も原因がわかった。最後に原因についてまとめた。残りはゲスト用に空けておく。イメージファイルとLVM両方試したいので。-その後のすべての操作をrootで行う。-y普通のXenを入れないように。tools関係が混乱する。自分はこれでハマった。前回取り扱ったISOファイルの中にXenGT/KVMGTをソースからビルドする手順が説明されているセットアップガイド(iGVT-g_Setup_Guide.txt)が入っている。ネット上にもほぼ同じものが見つかるが、ISO内のファイルより古いものしか見つからなかった。基本的にはこのガイド通りに進めていくが、ところどころ変更している。/etc/initramfs-tools/modulesxengtkvmを追加。今回kvmはいらないかもしれないけど説明がそうなっているので一応。/usr/binここもハマりました。Ubuntuインストールしたディスクは、NVMeデバイスだったため上の手順だけではブートせず。make以降をやり直し。普通にSATAとかだったら不要。PYTHON_PREFIX_ARG=2つ目のsedは実行しても条件が合わず効果なし。Config.mkを以下のように変更する。セットアップ始めから用意されている/etc/grub.d/20_linux_xenをXenGT用のファイルにしてしまう。rebootこれでほぼ完了だが、まだホストがUbuntuServerなので、フレームバッファが存在せず、qemuが起動しない。項目でgnomeとvncserverを入れてどうこうするとか書いてある。実際やってみるととても使える環境とは言えない。ここは自分の好みでシンプルX環境を作る。xvfb何度も実行するフレーズなので、.bash_aliasesとかに以下のaliasを記述しておく。ファイルはいつも通りこんな感じ。リモートでvnc接続する。シンプルなopenbox環境が起動しているはず。デスクトップ4つとかウザいんで、obconfで1つに設定変更。