我试图在CentOS 5.2上使用Xen 3.2.1来启动Ubuntu Jaunty VM。
我遵循本指南设置虚拟机,我使用的debootstrap电话是:
debootstrap --arch amd64 --include=linux-image-server,grub --components=main,universe,multiverse jaunty /mnt/xenfs http://it.archive.ubuntu.com/ubuntu/
我的问题是,当我尝试引导虚拟机时,我可以看到Grub显示内核列表,但是当我select一个时,引导停止并显示以下错误:
Error: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\n')
这是VM的Xenconfiguration:
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
所以内核不是一个gzipped文件..也许这是一个Xen 3.2.1不明白的格式? 我不能升级到Xen 3.3 …有没有办法将内核“转换”为gzip图像? 我应该尝试另一个内核?
非常感谢!
主机上'uname -a'的结果是什么? 你有一个启用Xen的内核(在主机上)? 它应该是这样的:
2.6.18-92.1.10.el5xen
用xen结尾。 如果你用一个正常的内核启动,用'yum install kernel-xen'安装xen软件包,然后用这个新内核启动。
最后,我使用了一个来自Jailtime (现在的Stacklet )的图像。它有一个gzipped内核,它的function就像一个魅力:)
编辑:由Stacklet提供的内核不提供cifs模块,所以我从Debian Lenny安装了linux-image-2.6.26-2-xen-amd64_2.6.26-19_amd64.deb和相关的linux-modules 。