Xen3.4にアップデート

先日、Xen3.2にアップデートをしてみたのですが、
それでもやっぱり古いので、3.4.3にバージョンを上げることにしました。
その時の作業メモです。

ビルドする


以下の場所から、ソースRPMをダウンロードしてきました。
(このリポジトリの存在を教えていただいた@hansodeさん、ありがとうございました!)

 $ wget http://www.gitco.de/repo/src/xen-3.4.3-4.el5.src.rpm


ソースRPMを配置します。

 # rpm -ivh xen-3.4.3-4.el5.src.rpm


ビルドします。とここで、パッケージ不足を指摘されました。

# rpmbuild -ba --define 'dist .el5' xen-3.4.3.spec 
error: Failed build dependencies:
	iasl is needed by xen-3.4.3-4.el5.x86_64
	e4fsprogs-devel is needed by xen-3.4.3-4.el5.x86_64
	bzip2-devel is needed by xen-3.4.3-4.el5.x86_64
	xz-devel is needed by xen-3.4.3-4.el5.x86_64


いくつか足りないパッケージがあったので、yumでインストールします。

# yum install iasl e4fprogs bzip2-devel xz-devel


追加したパッケージはこんな感じです。

Downloading Packages:
(1/7): bzip2-devel-1.0.3-6.el5_5.x86_64.rpm              |  38 kB     00:00     
(2/7): bzip2-devel-1.0.3-6.el5_5.i386.rpm                |  39 kB     00:00     
(3/7): xz-devel-4.999.9-0.3.beta.20091007git.el5.x86_64. |  40 kB     00:00     
(4/7): xz-devel-4.999.9-0.3.beta.20091007git.el5.i386.rp |  40 kB     00:00     
(5/7): iasl-20090123-1.el5.x86_64.rpm                    | 316 kB     00:00     
(6/7): e4fsprogs-devel-1.41.9-3.el5.i386.rpm             | 514 kB     00:00     
(7/7): e4fsprogs-devel-1.41.9-3.el5.x86_64.rpm           | 580 kB     00:00     
--------------------------------------------------------------------------------
Total                                           439 kB/s | 1.5 MB     00:03


パッケージ追加後、再度ビルドを試みたところ、
途中でこんな警告が出てビルドが止まりました。

WARNING: `makeinfo' is missing on your system.  You should only need it if
         you modified a `.texi' or `.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy `make' (AIX,
         DU, IRIX).  You might want to install the `Texinfo' package or
         the `GNU make' package.  Grab either from any GNU archive site.


ということで、「texinfo」を追加でインストール。その後、再びビルド。
今度はOKでした。

 # yum install texinfo
 # rpmbuild -ba --define 'dist .el5' xen-3.4.3.spec 


RPMが出来たのでインストールします。
今度はPyXMLが足りなかったようなので、こちらも追加しました。

# rpm -Uvh xen-3.4.3-4.el5.x86_64.rpm xen-devel-3.4.3-4.el5.x86_64.rpm xen-libs-3.4.3-4.el5.x86_64.rpm 
error: Failed dependencies:
	PyXML is needed by xen-3.4.3-4.el5.x86_64

VMを起動させる


完全仮想化のVMに関して、
「/usr/lib64/xen/bin/hvmloader」ではなく、
「/usr/lib/xen/bin/hvmloader」を指定します。

# cat /etc/xen/centos5-hvm 
builder = 'hvm'
name = 'centos5-hvm'
maxmem = 512
memory = 512
vcpus = 1
kernel = "/usr/lib/xen/boot/hvmloader"
boot = "dc"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ 'tap:aio:/opt/xen/centos5-hvm,xvda,w', 'phy:/dev/cdrom,hdc:cdrom,r' ]
vif = [ "mac=00:16:36:42:99:b2,bridge=xenbr0,script=vif-bridge" ]
device_model = "/usr/lib64/xen/bin/qemu-dm"
sdl = 1
localtime = 1
keymap = 'ja'
vncconsole = 1


これで無事に起動。


今日はこんなところで。

参考

リポジトリを使わせていただきました。感謝です。