Setup Xen 3.4.1 Dom0 on top of Ubuntu 9.04 Server via Marc – A. Dahlhaus’s UDEV patch

Per Marc – A. Dahlhaus:-
Udev removed the udevinfo symlink from versions higher than 123 and xens build-system could not detect if udev is in place and has the required version. In particular, Ubuntu 9.04 server has udev version
141 and appears to be affected by this issue. Straight forward Xen 3.4.1 build brings up Xen Host with hotplug scripts rejecting to work.
The recent patch suggested by Marc resolves this problem. It doesn’t
happen on F11 due to

[root@ServerXen341 /]# ls -l /usr/bin/udevinfo
lrwxrwxrwx. 1 root root 18 2009-06-12 14:13 /usr/bin/udevinfo -> ../../sbin/udevadm
[root@ServerXen341 /]# /usr/bin/udevinfo -V
the program '/bin/bash' called '/usr/bin/udevinfo', it should use 'udevadm info ', this will stop working in a future release

Brief description of Xen 3.4.1 build follows bellow. First – install on Uubuntu 9.04 Server all packages required for Xen build:-

apt-get install libcurl4-openssl-dev \
xserver-xorg-dev \
python2.6-dev \
mercurial gitk \
build-essential \
libncurses5-dev \
uuid-dev gawk \
gettext texinfo bcc

Second step :-

# cd /usr/src
# hg clone
# cd xen-3.4-testing.hg
Set in
PYTHON = python

Tuning results Xen packages to be placed into /usr/local/lib/python2.6/dist-packages due to Changeset 19594 in xen-3.4-testing.hg. Otherwise, Xen packages would go to /usr/lib/python2.6/site-packages, which is not default location for python 2.6 on Ubuntu 9.04 ( vs F11 ). Thus you won’t be able to start xend in Dom0. Same thing happens when building Xen Unstable on Ubuntu 9.04 Server.

Update on 07/01/09 . View changeset 19668
“Fix buildsystem to detect udev > version 124”.
Patching is no longer needed
Now build Xen 3.4.1 from source :-

# make install-xen
# make install-tools
# make install-stubdom

Updated on 10/05/09 due to changes in JF’s Git Repo
Install pvops enabled kernel from Jeremy Fitzhardinge git repository. Checkout the most recent branch:-

# git clone git:// linux-2.6-xen
# cd linux-2.6-xen

Make sure your your current branch is xen/master

# git branch

Setup Xen Dom0 Support

# make menuconfig

Now build kernel

# make -j(x)(number_of_kernels)
# make modules_install install
# mkinitramfs -o /boot/initrd-

Add entry to /boot/grub/menu.lst:-

title Xen 3.4 / Ubuntu 9.04 kernel
uuid 34d2c0bd-fe30-47e0-990e-4921caf1e845
kernel /boot/xen-3.4.gz
module /boot/vmlinuz- root=/dev/sdb2 ro console=tty0
module /boot/initrd-

Final step is Setup VNC at Dom0 to be able to manage Xen Dom0 with PVOPS kernel remotely via vinagre or vncviewer

Different option is to install xenified kernel via download :-
and applying Andrew Lyon’s rebased patches set

# wget

followed by building xenified kernel

# make menuconfig
# make -j(x)(number_of_cores)
# make modules_install install
# mkinitramfs -o /boot/initrd-

Remote vinagre console

The most recent screen shots for Xen 3.4.1-rc10 Dom0 with 2.6.31-rc4 pvops kernel on top of Ubuntu 9.04 Server

11 Responses to Setup Xen 3.4.1 Dom0 on top of Ubuntu 9.04 Server via Marc – A. Dahlhaus’s UDEV patch

  1. […] remote Dom0 desktop. PV_OPS enabled kernel is based on checkout branch mentioned above. View also: Setup Xen 3.4.1 Dom0 on top of Ubuntu 9.04 Server Packages required by installation procedure : […]

  2. einnordlicht says:

    I followed that above procedure on an AMD x86_64 system but ended up with a kernel 2.6.31-rc1. The kernel successfully compiles and boots, but the xend does not start due to the lack of /proc/xen/capabilities. /proc/xen exists, but no content. Any idea what might cause that?

  3. einnordlicht says:

    On a AMD 64bit system that above procedure worked well and I ended up with a 2.6.31.rc1 as Dom0. However when I replicated the same procesure on a Celeron system (running Ubuntu 9.04 in i686 mode) the make menuconfig does not even offer the change to choose Xen Dom0. Instead, the menu pick Processor Type and Features -> Paravirtualized Guest support ->
    — Paravirtualized guest support
    [ ] VMI Guest support (NEW)
    [*] KVM paravirtualized clock
    [*] KVM Guest support
    [ ] Lguest guest support (NEW)
    -*- Enable paravirtualization code
    [*] Paravirtualization layer for spinlock

    Do we have only XEN Dom0 support for AMD?

  4. dbaxps says:

    No, i tested OK on Core2Duo E8400 and Q9550 😉
    This ones are Intel CPUs.
    I believe Celeron doesn’t have even VT.

  5. jbvienna says:

    Hi together,
    i follow the guide, but when I reboot with
    Xen 3.4.1-rc10 / Ubuntu 9.04, kernel 2.6.31-rc4
    the message appears

    Loading AppArmor module… [fail]
    also xend is not running.

    remake of xen / kernel does not help
    Any idea what might cause that?


  6. dbaxps says:

    Looks like you can load Dom0 with PVOPS kernel.
    What happens if you try :-
    # /etc/init.d/xend start

  7. […] = [ 'type=vnc,vncunused=1'] vcpus=2 on_reboot = 'restart' on_crash = 'restart' References 1.Setup Xen 3.4.1 Dom0 on top of Ubuntu 9.04 Server via Marc – A. Dahlhaus’s UDEV patch Possibly related posts: (automatically generated)VirtualisationCompiling XEN Kernel on […]

  8. alionline says:

    Hi i follow your steps but the version of kernel that has been check out from Jeremy Fitzhardinge git repository is not the version that you mention and it’s configuration do not have required option. also second way for xenified kernel will not compile on my machine that is a quad core intel please tell me what to do

  9. tapas says:

    I m using Ubuntu Desktop edition 9.04 but then have got updates of all packages and did what ever mentioned but then got the error

    /usr/src/linux-2.6.27-xen.hg/arch/x86/kernel/time_32-xen.c:469: undefined reference to `__udivdi3′ make: *** [.tmp_vmlinux1] Error 1

    I would like to check once again what went wrong can you point me a link to where you have mentioned in a step by
    step fashion to configure Xen on Dom0 on Ubuntu

    I have mailed you also please check.

  10. nikzad says:

    I followed the instructions above. It seems that everything has been installed well but in “# make menuconfig” I can not find any Xen options. For example in “paravirtilized guest support”, I can not find “Xen guest support” instead I have “VMI guest support”. Moreover I can not find “xen virtual block device support” and “backend driver support” in “Block Devices” and “Device derivers”, respectively. I do not know if it means xen has not been installed.
    my computer CPU is Pentium (R) 4 and I am using ubuntue 9.10

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: