Я пытаюсь загрузить виртуальную машину Ubuntu Jaunty с помощью Xen 3.2.1 в CentOS 5.2.
Я последовал за это руководство для настройки виртуальной машины я использовал вызов debootstrap:
debootstrap --arch amd64 --include=linux-image-server,grub --components=main,universe,multiverse jaunty /mnt/xenfs http://it.archive.ubuntu.com/ubuntu/
Моя проблема в том, что когда я пытаюсь загрузить виртуальную машину, я вижу, что Grub показывает список ядер, но когда я выбираю одно, загрузка останавливается с этой ошибкой:
Error: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\n')
Вот конфигурация Xen для виртуальной машины:
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' ]
... и соответствующую часть из /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
Проверка ядра показывает:
[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
Значит, ядро - это не gzip-файл .. Может быть, Xen 3.2.1 не понимает этот формат? Я не могу перейти на Xen 3.3 ... Есть ли способ «преобразовать» это ядро в сжатый образ? Стоит ли вообще попробовать другое ядро?
Большое спасибо!
В итоге я использовал изображение из Тюремное заключение (сейчас Stacklet) .. У него сжатое ядро и работает как шарм :)
Редактировать: Ядро, поставляемое Stacklet, не предоставляет модуль cifs, поэтому я установил linux-image-2.6.26-2-xen-amd64_2.6.26-19_amd64.deb
и связанные linux-modules
из Debian Lenny.
Каков результат "uname -a" на хост-машине? У вас загружено ядро с поддержкой Xen (на хосте)? Это должно быть примерно так:
2.6.18-92.1.10.el5xen
С xen в конце. Если вы загружаетесь с обычным ядром, установите пакет xen с помощью 'yum install kernel-xen' и загрузитесь с этим новым ядром.