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=192.168.1.216,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.
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 relatedlinux-modules
from Debian Lenny.