Bug#491223: `update-grub' considers all 2.6.25* kernels to work w/ XEN

Ian Campbell ijc at hellion.org.uk
Sun Jul 20 06:00:02 UTC 2008


On Sat, 2008-07-19 at 18:15 +0200, Robert Millan wrote:
> On Thu, Jul 17, 2008 at 09:20:06PM +0300, Teodor wrote:
> > Package: grub
> > Version: 0.97-41
> > Severity: important
> > 
> > I've installed the Xen hypervisor and the corresponding linux kernel and
> > `update-grub' adds incorrect entries to the menu.lst file:
> > 
> > ########
> > inspire:~# ls -1 /boot/vmlinuz-2.6.*
> > /boot/vmlinuz-2.6.18-6-686
> > /boot/vmlinuz-2.6.18-6-xen-686
> > /boot/vmlinuz-2.6.24-openvz-24-004.1d1-686
> > /boot/vmlinuz-2.6.25-2-686
> > /boot/vmlinuz-2.6.25-2-xen-686
> > 
> > inspire:~# update-grub 
> > Searching for GRUB installation directory ... found: /boot/grub
> > Searching for default file ... found: /boot/grub/default
> > Testing for an existing GRUB menu.lst file ... found:
> > /boot/grub/menu.lst
> > Searching for splash image ... none found, skipping ...
> > Found Xen hypervisor 3.0.3-1-i386-pae,  kernel:
> > /boot/vmlinuz-2.6.25-2-686
> > Found Xen hypervisor 3.2-1-i386,  kernel: /boot/vmlinuz-2.6.25-2-686
> > Found Xen hypervisor 3.0.3-1-i386-pae,  kernel:
> > /boot/vmlinuz-2.6.25-2-xen-686
> > Found Xen hypervisor 3.2-1-i386,  kernel: /boot/vmlinuz-2.6.25-2-xen-686
> > Found Xen hypervisor 3.0.3-1-i386-pae,  kernel:
> > /boot/vmlinuz-2.6.18-6-xen-686
> > Found kernel: /boot/vmlinuz-2.6.25-2-686
> > Found kernel: /boot/vmlinuz-2.6.25-2-xen-686
> > Found kernel: /boot/vmlinuz-2.6.24-openvz-24-004.1d1-686
> > Found kernel: /boot/vmlinuz-2.6.18-6-686
> > Found kernel: /boot/vmlinuz-2.6.18-6-xen-686
> > Found kernel: /boot/memtest86.bin
> > Found kernel: /boot/memtest86+.bin
> > Updating /boot/grub/menu.lst ... done
> > ########
> > 
> > 
> > First problem: XEN + 2.6.25-2-686 is giving kernele panic because it was
> > never supposed to work, instead the -xen variant should work.

That is because there is no way to determine if a CONFIG_PARAVIRT
+CONFIG_XEN kernel can run in domain 0 or not.

Currently no PARAVIRT kernel supports domain 0 operation but that will
change shortly (in the 2.6.27 time frame I believe) which is why the
entries should be generated.
 
> > Second problem: 2.6.25-2-xen-686 or 2.6.18-6-xen-686 without XEN
> >  cannot work either.

A CONFIG_PARAVIRT+CONFIG_XEN kernel will boot on native just fine.

In fact I suspect you will find the opposite to what you suggest -- this
kernel won't work on top of Xen for the reasons given above (lack of
domain 0 support, it will work in a guest though) and will work fine on
native.

I think the key piece of information which you need is that
CONFIG_PARAVIRT is designed to allow a single kernel binary to boot both
on native and on various hypervisor technologies (CONFIG_XEN,
CONFIG_VMI, CONFIG_LGUEST) with the switch being made a runtime. This is
in contrast to the old monolithic ports to Xen (up to and including
2.6.18) where the decision had to be made at compile time.

Ian.

-- 
Ian Campbell

Whenever I date a guy, I think, is this the man I want my children
to spend their weekends with?
		-- Rita Rudner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20080720/48841cc3/attachment.pgp 


More information about the Pkg-grub-devel mailing list