Virtualization using Xen on Ubuntu

April 14th, 2011 by Pawan Kumar Leave a reply »

Xen is the open source virtualization solution .This blog is about installing a new Xen server on Ubuntu 10.04. Also I have the composite window manager on top of the Xen! With full 3D pass4sure 1Z1-868 support!

To achieve this I do:

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

1.1 – Install some packages:

aptitude install build-essential libncurses5-dev dpkg-dev pass4sure 70-298 debhelper fakeroot

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

sudo -s
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 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-2.6.32.10-pvops):

Copy the config file to the kernel source dir:

cp ~Downloads/config-for-xen-2.6.32.10-pvops /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-2.6.32.10-pvops | 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…
make
chmod g-s /usr/src -R # To avoid the error: “dpkg-deb: control directory has bad permissions 2755 (must be >=0755 and > /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 http://xenbits.xensource.com/xen-unstable.hg
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 —-
#!/bin/sh
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 2.6.32.10 pvops” {
insmod ext2
set root=(hd0,1)
multiboot (hd0,1)/xen-4.0.0-rc8.gz dummy=dummy
module (hd0,1)/vmlinuz-2.6.32.10 dummy=dummy root=/dev/mapper/HyperDeskVG01-tcmc–dell–lucid ro
module (hd0,1)/initrd.img-2.6.32.10
}
—- cut here —-

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

Run update-grub again:

update-grub

5- Reboot into your new dom0!

reboot

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

Advertisement
blog comments powered by Disqus

Warning: Unknown: write failed: Disk quota exceeded (122) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0