Steps to try Xen 4.0.0 Release Candidate 8 on Ubuntu Lucid 10.04 64 Bits

Great post in xen-users today from Thiago Martins…

Running Xen 4.0.0-rc8 with Linux paravirt_ops    dom0 on top of Ubuntu Lucid 10.04 64bits

This is a quick guide to help us to try the new Xen.
Also I have the composite window manager on top of the Xen! With full 3D support!

To achieve this I do:

1- Install your Ubuntu Desktop 10.4 beta1 and upgrade your system;

1.1 – Install some packages:

aptitude install build-essential libncurses5-dev dpkg-dev debhelper fakeroot

2- Download and install a new kernel with dom0 pv_ops enabled:

sudo -s
cd /usr/src
git clone git:// linux-2.6-xen
cd linux-2.6-xen
git pull
git reset –hard
git checkout -b xen/stable origin/xen/stable
git pull

2.1 – Download the kernel config file attached to this mail (config-for-xen-

Copy the config file to the kernel source dir:

cp ~Downloads/config-for-xen- /usr/src/linux-2.6-xen/.config

You can see the differences of my config file against the Lucid one:

diff /boot/config-2.6.32-17-generic ~Downloads/config-for-xen- | vim –

…both are close to each other.

2.2 Configure, compile and install:

make menuconfig # Enable the dom0 support and the Xen backend/frontend/xenfs stuffs…
chmod g-s /usr/src -R     # To avoid the error: “dpkg-deb: control directory has bad permissions 2755 (must be >=0755 and <=0775)”
make dep-pkg
dpkg -i ../linux-image**.deb
update-initramfs -c -k
echo “xen-evtchn” >> /etc/modules

Now you can try your new kernel without Xen, if you want, it should work smootly.

3- Download and install the latest Xen:

Preparing your environment:

apt-get build-dep xen-3.3
aptitude install uuid-dev iasl texinfo

Download and compile:

cd /usr/src
hg clone -r 4.0.0-rc8
cd xen-unstable.hg
make xen
make tools
make stubdom
make install-xen
make install-tools PYTHON_PREFIX_ARG=
make install-stubdom

update-rc.d xend defaults 20 21
update-rc.d xendomains defaults 21 20

4- Configuring your Grub2 through the file /etc/grub.d/40_custom:

—- cut here —-
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the ‘exec tail’ line above.
menuentry “Xen 4.0.0-rc8 / Ubuntu 10.4 kernel pvops” {
insmod ext2
set root=(hd0,1)
multiboot (hd0,1)/xen-4.0.0-rc8.gz dummy=dummy
module (hd0,1)/vmlinuz- dummy=dummy root=/dev/mapper/HyperDeskVG01-tcmc–dell–lucid ro
module (hd0,1)/initrd.img-
—- cut here —-

Don’t forget to change your “root=” option of your Linux!

Run update-grub again:


5- Reboot into your new dom0!


6- Look if your Xen is up and running

xm list
xm info

.. if not:

/etc/init.d/xendomains stop
/etc/init.d/xend stop
/etc/init.d/xend start
/etc/init.d/xendomains start

xm list
xm info