パッケージで入れられてしめしめとか思ってたら、何か依存関係でも壊したのか、起動しないゲストがあったでござる。ということで、バニラな方法で入れ直す。元ネタは昨日と同じでこちら → Xen 4.1 from source with Debian Squeeze 2.6.32-5-xen-amd64 dom0 (test)
Xen.org からソースを取ってきます。現時点での最新版は、4.1.2。
wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
ビルドに必要なパッケージをインストールします。/etc/apt/source.list に以下の行を追加して、
deb-src http://ftp.jp.debian.org/debian/ sid main</code>
以下を実行。
apt-get build-dep xen
apt-get build-dep xen-utils-common
build-dep で入らないパッケージを追加で入れます。
apt-get install libx11-dev libssl-dev python2.6-dev
で、おもむろにビルド
make xen
make tools
make stubdom
エラーがなければインストール。
make install-xen
make install-tools PYTHON_PREFIX_ARG=
make install-stubdom
Domain 0 に必要なサービスデーモンの起動設定を忘れずに。
update-rc.d xencommons defaults
update-rc.d xendomains defaults
4.0 までと互換性のある、xm ツールセットを使う場合は、xend も起動するようにしておきます。
update-rc.d xend defaults
ひとまず以上で、Xen が起動するはずです。再起動して確認しましょう。
xl list
次のように、Domain-0 がリストされない場合、たいていは GRUB の設定ミスです。
Name ID Mem VCPUs State Time(s)
Domain-0 0 15525 4 r----- 253.1
ゲストの作成、管理は色々な方法がありますが、素で Xen を使う場合、xen-tools でゲストを作るようにしておくと、余計なデーモンが常駐したりしないので、その分管理が簡単になります。ですが、パッケージの xen-tools は当然のことながら、xen のパッケージに依存していますのでこの場合は入れられません。従って、これもソースから入れることになります。
まず、xen-tools の実行に必要なパッケージをさくさく入れます。
apt-get install libfile-slurp-perl debootstrap gawk libconfig-inifiles-perl libelf1 libexpect-perl libfont-afm-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libio-pty-perl libio-stty-perl liblua5.1-0 libmailtools-perl libnspr4-0d libnss3-1d librpm1 librpmbuild1 librpmio1 libterm-size-perl liburi-perl libwww-perl</code></pre>
次にソースを取得します。パッケージよりちょっとだけリビジョンが上がっています。
wget http://xen-tools.org/software/xen-tools/xen-tools-4.2.1.tar.gz
ソースを展開して、インストールすればおしまいです。意外に簡単。
make install
また、xen-tools では RedHat なディストリビューションを入れるのに、Rinse を使うので、CentOS とかゲストに入れたいと考える人は、入れなくてはなりません。まずは、Rinse の実行に必要なパッケージを入れます。
apt-get install rpm rpm-common rpm2cpio
次にソースを取得します。パッケージより大幅にリビジョンが上がっています。
wget http://www.steve.org.uk/Software/rinse/rinse-1.9.1.tar.gz
ソースを展開して、インストールすればおしまいです。これも簡単。
make install