我正在尝试在 CentOS 5.2 上使用 Xen 3.2.1 启动 Ubuntu Jaunty VM。
我按照本指南设置 VM,我使用的 debootstrap 调用是:
debootstrap --arch amd64 --include=linux-image-server,grub --components=main,universe,multiverse jaunty /mnt/xenfs http://it.archive.ubuntu.com/ubuntu/
我的问题是,当我尝试启动 VM 时,我可以看到 Grub 显示内核列表,但是当我选择一个时,启动停止并出现以下错误:
Error: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\n')
这是 VM 的 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
所以内核不是压缩文件。也许这是 Xen 3.2.1 不理解的格式?我无法升级到 Xen 3.3... 有没有办法将该内核“转换”为 gzip 压缩图像?我应该完全尝试另一个内核吗?
非常感谢!
主机上的“uname -a”的结果是什么?您是否(在主机上)加载了启用 Xen 的内核?它应该是这样的:
以 xen 结尾。如果您使用普通内核启动,请使用 'yum install kernel-xen' 安装 xen 软件包并使用这个新内核启动。
最后,我使用了来自Jailtime(现为Stacklet)的图像。它有一个 gzip 压缩的内核,它的工作原理就像一个魅力 :)
编辑: Stacklet 提供的内核不提供 cifs 模块,所以我从 Debian Lenny安装
linux-image-2.6.26-2-xen-amd64_2.6.26-19_amd64.deb
和相关。linux-modules