ムノーの戦績

僕が苦しんだ事を綴っていくよ

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 mercurial

apt-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 source

E: 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 loopback

auto eth0
iface eth0 inet manual

auto xenbr0
iface xenbr0 inet dhcp
bridge_ports eth0

 

これで多分終わり。