Upgrade to Xen 3.2

From PDP/Grid Wiki
Jump to navigationJump to search

Here are the steps to upgrade a CentOS 5.1 x86_64 system from Xen 3.1 to 3.2.

The CentOS installation

The CentOS 5.1 distribution comes with Xen 3.1 as an option. To install this, you need to select "Virtualization" during the installation stage or

@virtualization

in the kickstart file.

Screenshot from the text-based installer

Building the Xen 3.2 RPM

There is no pre-compiled Xen 3.2 for CentOS 5 x86_64 available yet, so download the source RPM from xen.org.

Install the source RPM

Install as root:

rpm -i xen-3.2.0-0xs.centos5.src.rpm

This will leave the sources and spec file in /usr/src/redhat. The RPMs can be build when the build requirements are satisfied. The following list of packages should do.

yum install curl-devel dev86 gettext ghostscript \
            glibc-devel gnutls-devel gtk2-devel \
            libaio-devel libidn-devel libX11-devel \
            ncurses-devel openssl-devel perl \
            python-devel SDL-devel tetex-latex \
            texi2html transfig udev zlib-devel


I had to make one minor change to the spec file: I changed the line

#/usr/lib/xen/boot/hvmloader

to

/usr/lib/xen/boot/hvmloader

Compile the RPM

Finally, do the build

rpmbuild -bb xen.spec

Installing the new Xen

Install the resulting RPMS

rpm -i xen-libs-3.2.0-0xs.x86_64.rpm \
       xen-3.2.0-0xs.x86_64.rpm

Update GRUB: put /boot/xen.gz-3.2 in /etc/grub.conf

default=0
timeout=5
serial --unit=1 --speed=9600
terminal --timeout=5 serial console
title CentOS (2.6.18-53.1.14.el5xen)
        root (hd0,2)
        kernel /xen.gz-3.2 com2=9600,8n1 console=com2,vga
        module /vmlinuz-2.6.18-53.1.14.el5xen ro root=/dev/VolGroup00/LogVol00 console=xvc xencons=xvc
        module /initrd-2.6.18-53.1.14.el5xen.img

And reboot.

Caveat

Following these steps fails the Little Red Riding Hood Constraint. One immediate consequence is that the grub configuration may not survive an ordinary kernel upgrade, i.e. you may have to put ken.gz-3.2 back in manually.