Xen4.6をソースからインストールした時の覚書
Xen導入に無茶苦茶手間取っているので纏めておく。
概ね http://wiki.xenproject.org/wiki/Compiling_Xen_From_Source と
http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide の通り。
OSはDebian jessie。
gitからソースを取ってくる。
git clone git://xenbits.xen.org/xen.git
cd xen
git checkout <commit>
ビルドに必要なパッケージを入れる。
apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig
apt-get install texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurialapt-get install make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev
apt-get install iasl libbz2-dev e2fslibs-dev git-core uuid-dev ocaml ocaml-findlib libx11-dev bison flex xz-utils libyajl-dev
apt-get install gettext libpixman-1-dev libaio-dev markdown pandoc
apt-get install libc6-dev-i386
先ほどのwikiにはtgifを入れろと書いてあるがapt-getできない。
Package tgif is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another sourceE: Package 'tgif' has no installation candidate
パッケージ候補も出て来ないようである。解決法もわからないので一旦放置。
またDomUを入れるときに必要だったので, liblzma-devも入れておく
apt-get install liblzma-dev
configureをする。ここでoptionを正しく設定しなければならない。
./configure --libdir=/usr/lib
./configure --libdir=/usr/local/lib64 としていたせいでxlコマンドを打った時にライブラリがないと言われて長いこと詰まっていた。ちなみにエラー文はこれ。
xl: error while loading shared libraries: libxlutil.so.4.6: cannot open shared object file: No such file or directory
makeしていく。
make dist -j4
make world -j4
make install -j4
必要なものだけmakeしていけば良いそうだが、わかりにくいので全部makeした。
grubの設定をする
update-grub
サービスの設定
update-rc.d xencommons defaults 19 18
update-rc.d xendomains defaults 21 20
update-rc.d xen-watchdog defaults 22 23
再起動後、カーネルはAdvanced option for Debian GNU/Linux(with Xen hypervisor) を選択する
root@munou:/home/munou# xl list
Name ID Mem VCPUs State Time(s)
Domain-0 0 16029 4 r----- 30.5
これでDom0が見えた。
/etc/network/interfaces も書き換えておく
auto lo
iface lo inet loopbackauto eth0
iface eth0 inet manual
auto xenbr0
iface xenbr0 inet dhcp
bridge_ports eth0
これで多分終わり。