Xen 3.2 on Ubuntu

物理的に新しいサーバーが届いていたので、いろいろと試しています。サーバー機としては初のDual Core, 初の64bit, 初のOpteron

とりあえずopenSUSEをいれて、Xenで遊ぼうかと思ったんだけれども、、、どうも、openSUSEXenの環境がばりばりにYast用にカスタマイズされていて使いにくい。CUI Yastがものすごく使いづらく感じて、Xを起動すると果てしなくメモリを食うし。。。

というわけで、Ubuntu Server(7.10)をもってきて、Xenをいれる。aptではいるんじゃ?と思ってたらそんなことはなかったので、Xen 3.2 の tarball を持ってきて、5年ぶりぐらいにmake world。そして失敗。そもそもServer版にはmakeもgccも入っていない。。。必要なパッケージ入れる。

# sudo apt-get install gcc
# sudo apt-get install make
# sudo apt-get install gawk
# sudo apt-get install build-essentials
# sudo apt-get install python-dev
# sudo apt-get install libncurses-dev
# sudo apt-get install libssl-dev
# sudo apt-get install gettext
# sudo apt-get install xorg-dev

んで、xen-3.2 に入って make world するも、

Unable to determine Xen repository parent

といわれる。。。hg がない、とかいっている。

# sudo apt-get intall mercurial

これで hg は失敗しないんだけれど、エラーメッセージは変わらない。Xen のMLを眺めていると ubuntumercurialが古い、とか。

kernel だけあらかじめparentにとって、prep-kernelしてから make distするといいよ、と書いてあったので、以下の手順でリトライ。

# mkdir src
# cd src
# wget http://bits.xensource.com/oss-xen/release/3.2.0/xen-3.2.0.tar.gz
# tar zxvf xen-3.2.0.tar.gz
# hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
# cd xen-3.2.0
# make prep-kernels
# cp /boot/config-2.6.22-14-server build-linux-2.6.18-xen_x86_32/.config
# make dist

これでコンパイルが開始できるようになる。途中でいろいろfeatureをたずねてきたんだけれど、その辺は適当にY/N/m を回答。不安な部分だけ?で確認。XBox gamepad とかはいらない。

これ以外にもいくつかapt-getで入れた気がするがメモするの忘れた。。。が、makeしている間に気がつくものです。