I thought about updating this to include Xen 3.3 but in all reality the gitco repositories work great for i386 and x86_64 so I don't see a reason to compile xen. However, I'm leaving this up in case someone wants to use it as a loose guide to compile xen 3.3.1.

CentOS 5.2/RHEL 5.2 comes with a very highly modified Xen 3.03 which if I'm correct is in fact Xen 3.1 backported. If you want to use the latest Xen 3.2.1 you need to update the hypervisor. This tutorial is for x86_64 because that's what I'm running on grantmcwilliams.com. If you want the 32 bit version modify the appropriate paths and file names.

  1. rpm -i http://bits.xensource.com/oss-xen/release/3.2.0/centos-5.1/xen-3.2.0-0xs.centos5.src.rpm 2> /dev/null
  2. cd /usr/src/redhat/SOURCES ; wget http://bits.xensource.com/oss-xen/release/3.2.1/xen-3.2.1.tar.gz
  3. vi ../SPECS/xen.spec
  4. - Change "Version: 3.2.0" to "Version 3.2.1"
  5. - Change "Source0: xen-3.2.0.tar.gz" to "Source0: xen-3.2.1.tar.gz"
  6. - Uncomment "# /usr/lib/xen/boot/hvmloader"
  7. yum -y install transfig texi2html tetex-latex gtk2-devel libaio-devel gnutls-devel
  8. cd /usr/src/redhat/SPECS ; rpmbuild -ba ./xen.spec
  9. Grab some coffee...

... after the rpms are built do this

  1. vi /etc/yum.conf and temporarily set "gpgcheck=0" to "gpgcheck=1" since RPMs aren't signed.
  2. cd /usr/src/redhat/RPMS/x86_64 ; yum -y install xen-3.2.1-0xs.x86_64.rpm xen-libs-3.2.1-0xs.x86_64.rpm xen-devel-3.2.1-0xs.x86_64.rpm
  3. vi /etc/yum.conf and set gpgcheck back to "gpgcheck=1".
  4. edit /boot/grub/grub.conf and switch all references of /boot/xen-3.1.. to /boot/xen-3.2..

Now you can reboot and enjoy your new Xen 3.2.1.