[Bug 586756] Re: update-grub ignores pvops kernels on Xen domU

Launchpad Bug Tracker 586756 at bugs.launchpad.net
Sat Sep 21 05:39:13 UTC 2013


Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: grub (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub in Ubuntu.
https://bugs.launchpad.net/bugs/586756

Title:
  update-grub ignores pvops kernels on Xen domU

Status in “grub” package in Ubuntu:
  Confirmed

Bug description:
  Binary package hint: grub

  Ubuntu 10.04 LTS. But the problem also manifests under 9.10 and 9.04.
  grub 0.97-29ubuntu60

  I am running on a Xen domU.

  update-grub seems to have logic in it to choose Xen/non-Xen kernels on
  Xen-domUs / other systems.

  However this logic seems to be flawed.

  Nowadays, Xen domUs can use "ordinary" kernels because modern kernels
  have pvops included.

  1. update-grub seems to be looking for kernels with the word "xen" in
  their name in order to believe that they will work in a Xen domU. This
  is broken because pvops kernels will work under a Xen domU but will
  not have the word "xen" in their name

  2. update-grub seems to be written on the basis that a kernel will
  either be "Xen" or "non-Xen" and those are mutually exclusive. This is
  broken because "ordinary" kernels with pvops will be suitable for both
  Xen and non-Xen working.

  The upshot is that for me update-grub ignores a perfectly usable
  "ordinary" kernel, which I would rather it recogised and configured
  for me.

  My quick workaround was to fudge update-grub to treat all kernels as
  Xen kernels. This made update-grub recognise the kernel, configure it
  into /boot/grub/menu.lst, and the system was then able to boot
  correctly.

  As that kernel does in fact work fine, but update-grub ignored it,
  this suggests a shortcoming in the behaviour of update-grub.

  The fix I would suggest would have two parts:

  1. Improve the ability of update-grub to recognise Xen-capable
  kernels. This could be done by adding another possibility 'or'-ed with
  existing detections, on the detection of Xen-capable kernels. (Though
  see the second part because if the paradigm is altered it may mean a
  re-write to that part of the program.)

  Take the name of the kernel image, e.g. vmlinuz-2.6.32-3-amd64, then
  take off the "vmlinuz-" from the beginning to leave "2.6.32-3-amd64".
  Store this in a variable "kernelSuffix". Then look for the existence
  of a file "/lib/modules/${kernelSuffix}/kernel/drivers/block/xen-
  blkfront.ko". If this file exists, then you have a kernel which is
  suitable for Xen-domU operation (and probably ALSO non-Xen-domU
  operation).

  2. Considering the Xen/Non-Xen attribute ("is_xen") this either needs
  to have a third option "Either", OR it could be split into two
  attributes "xenDomU" (yes/no or "1"/"") and "nonXenDomU" (yes/no or
  "1"/""). Kernels which are detected as Xen domU suitable by the
  detection of the xen-blkfront.ko kernel module will likely be suitable
  for BOTH Xen-domU operation AND non-Xen-DomU operation, so should be
  considered in both cases of Xen-domU and non-Xen-domU systems.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub/+bug/586756/+subscriptions



More information about the foundations-bugs mailing list