しょんぼり技術メモ

まいにちがしょんぼり

CentOS 5.4にXen3.4.2をソースからインストール

以前のエントリがいろいろ胡散臭かったので書き直し。

ソースの展開まではお約束として、Xenをtarballからインストールするには、Mercurialがたぶん必要です。
READMEに書いてなかったりして地味なトラップです。


CentOS5.4の場合、rpmforgeのレポジトリにあるので、

yum install mercurial --enablerepo=rpmforge

あたりでインストールしておきます。

で、make worldする。-j4とかで並列実行すると、Mercurialでソースを持ってくるあたりでこけるかも?

# make world

成功したらmake install。

# make install

/bootにはこんなファイルが作られているはず。

# ls -laF /boot -t
-rw-r--r--  1 root root  972596 12月  6 21:01 System.map-2.6.18.8-xen
-rw-r--r--  1 root root   62986 12月  6 21:01 config-2.6.18.8-xen
-rw-r--r--  1 root root 1518101 12月  6 21:01 vmlinuz-2.6.18.8-xen
-rw-r--r--  1 root root  546167 12月  6 21:00 xen-3.4.2.gz
lrwxrwxrwx  1 root root      12 12月  6 21:00 xen-3.4.gz -> xen-3.4.2.gz
lrwxrwxrwx  1 root root      12 12月  6 21:00 xen-3.gz -> xen-3.4.2.gz
lrwxrwxrwx  1 root root      12 12月  6 21:00 xen.gz -> xen-3.4.2.gz
-rw-r--r--  1 root root 8830838 12月  6 21:00 xen-syms-3.4.2

ドライバなどが格納されたinitrdを作る。

# depmod 2.6.18.8-xen
# mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod --without-dmraid \
  /boot/initrd-2.6.18.8-xen-3.4.2 \
  2.6.18.8-xen

で、あとはgrubでkernelとしてxen-3.4.2.gzを、moduleとしてvmlinuz-2.6.18.8-xenとinitrd-2.6.18.8-xen-3.4.2を指定してやればOK。

title CentOS with Xen 3.4.2
        root (hd0,0)
        kernel /xen-3.4.2.gz console=vga
        module /vmlinuz-2.6.18.8-xen ro root=LABEL=/
        module /initrd-2.6.18.8-xen-3.4.2

ブリッジのために必要となるパッケージがなければインストールしておく。

# yum install bridge-utils

あとは再起動してXen3.4.2で起動、xm infoで確認する。

xm info
host                   : 
release                : 2.6.18.8-xen
version                : #1 SMP Sun Dec 6 20:55:04 JST 2009
machine                : x86_64
nr_cpus                : 4
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 2400
hw_caps                : bfebfbff:20100800:00000000:00000140:0000e3bd:00000000:00000001:00000000
virt_caps              : hvm
total_memory           : 4094
free_memory            : 129
node_to_cpu            : node0:0-3
node_to_memory         : node0:129
xen_major              : 3  ←
xen_minor              : 4  ←
xen_extra              : .2 ←
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
cc_compiler            : gcc バージョン 4.1.2 20080704 (Red Hat 4.1.2-46)
cc_compile_by          : root
cc_compile_domain      : 
cc_compile_date        : Sun Dec  6 21:00:03 JST 2009
xend_config_format     : 4