I'm trying to boot an Ubuntu Jaunty VM using Xen 3.2.1 on CentOS 5.2.

I followed this guide to setup the VM, the debootstrap call I used was:

debootstrap --arch amd64 --include=linux-image-server,grub --components=main,universe,multiverse jaunty /mnt/xenfs http://it.archive.ubuntu.com/ubuntu/

My problem is that when I try to boot the VM, I can see Grub showing the kernel list, but when I choose one, the boot stops with this error:

Error: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\n')

Here's the Xen configuration for the VM:

name = 'testvm'
bootloader = '/usr/bin/pygrub'
memory = '256'
vif = [ 'ip=,mac=00:16:3E:21:C2:A1' ]
disk = [ 'phy:/dev/drbd22,xvda1,w',
              'phy:/dev/drbd23,xvda2,w' ]

...and the relevant part from /boot/grub/menu.lst:

title           Ubuntu 9.04, kernel 2.6.28-11-server                            
root           (hd0,0)                                                         
kernel        /boot/vmlinuz-2.6.28-11-server root=/dev/xvda1 ro console=xvc0  
initrd         /boot/initrd.img-2.6.28-11-server                               

Inspecting the kernel shows:

[root@server2 boot]# file vmlinuz-2.6.28-11-server 
vmlinuz-2.6.28-11-server: Linux kernel x86 boot executable RO-rootFS, root_dev 0x801, swap_dev 0x3, Normal VGA

So the kernel is not a gzipped file.. Maybe that's a format that Xen 3.2.1 doesn't understand? I can't upgrade to Xen 3.3... Is there a way to "transform" that kernel into a gzipped image? Should I try another kernel altogether?

Many thanks!


What is the result of 'uname -a' on the host machine? Do you have a Xen enabled kernel loaded (on the host)? It should be something like:


With xen at the end. If you are booting with a normal kernel, install the xen package with 'yum install kernel-xen' and boot with this new kernel.

| improve this answer | |
  • Sorry, I didn't mention that I already have 6 VMs running on that dom0 (5 with CentOS, 1 with XP) so the host is working as expected. – Joril Sep 28 '09 at 18:35
  • Whoops, sorry, just covering the obvious! :) – Dave Drager Sep 29 '09 at 13:00

In the end I used an image from Jailtime (now Stacklet).. It has a gzipped kernel and it works like a charm :)

Edit: The kernel supplied by Stacklet doesn't provide the cifs module, so I installed linux-image-2.6.26-2-xen-amd64_2.6.26-19_amd64.deb and related linux-modules from Debian Lenny.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.