The procedure bellow in general follows Thiago's Martins submission to xen-devel mailing list.However,sequence of steps has been changed, git checkout procedure is more straight
forward and one Change-set from xen-4.0-testing.hg back ported to Xen 4.0 to support grub2 notation '(hd0,1)' specific for Ubuntu 10.04 aka Lucid Lynx. The way it worked on Ubuntu 9.10 (04) Servers doesn't work any longer
apt-get install libcurl4-openssl-dev \
xserver-xorg-dev \
mercurial gitk \
build-essential \
libncurses5-dev \
uuid-dev gawk \
gettext texinfo bcc \
libncurses5-dev dpkg-dev debhelper \
iasl texinfo
apt-get build-dep xen-3.3
Now git clone and checkout branch xen/stable
cd /usr/src
git clone
git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
cd linux-2.6-xen
git checkout -b xen/stable origin/xen/stable
Build kernel in Debian way
make menuconfig # Enabled the dom0 support and the Xen backend as usual on Ubuntu 9.10, F12
make -j2
chmod g-s /usr/src -R
make deb-pkg
dpkg -i ../linux-image*2.6.32.10*.deb
depmod 2.6.32.10
update-initramfs -c -k 2.6.32.10
update-grub
echo "xen-evtchn" >> /etc/modules
At this point kernel is installed
Set up Xen 4.0 Hypervisor
cd /usr/src
Creare grub2-fix.patch1
as raw content of http://xenbits.xensource.com/xen-4.0-testing.hg?rev/065efaec5e71
Changeset 21112 pygrub: Fix Grub2 support for Ubuntu 10.04
gunzip xen-4.0.0.tar.gz
tar -xvf xen-4.0.0.tar
cd xen-4.0.0
patch -p1 -s -i ../grub2-fix.patch1
make xen
make tools
make install-xen
make install-tools PYTHON_PREFIX_ARG=
Set up xend,xendomains to run as services
update-rc.d xend defaults 20 21
update-rc.d xendomains defaults 21 20
Test Xen installation via creation Ubuntu 10.04 Server PV DomU
Create HVM DomU via profile
kernel="/usr/lib/xen/boot/hvmloader"
builder="hvm"
memory=2048
name="LucidSRV"
vcpus=1
vif = [ 'type=ioemu,bridge=eth0' ]
disk = [ 'phy:/dev/sdc5,hda,w']
device_model = "/usr/lib64/xen/bin/qemu-dm"
boot="d"
vnc=1
Due to CS 21112 PV DomU based on the same image may be loaded via profile
name="LucidPVG"
memory=2048
vcpus=1
bootloader="/usr/local/bin/pygrub"
disk=['phy:/dev/sdc5,xvda,w']
vif= ['bridge=eth0']
vfb=['type=vnc,vncunused=1']