Bug#708614: grub-common: Regression from 1.99: update-grub fails in Xen DomU: "warning: grub-probe can't find drive for /dev/xvda1."
Axel Beckert
abe at debian.org
Fri May 17 08:55:24 UTC 2013
Package: grub-common
Version: 2.00-14
Severity: grave
Hi,
I'm running Sid with kernels from Experimental inside a Xen DomU. The
DomU is booted via pygrub, i.e. with its own kernels.
Hence I need a /boot/grub/menu.lst inside the DomU. To generate that I
use update-grub for quite some time (IIRC years) now. Additionally,
the grub-legacy package (0.97-67) is installed, too, but GRUB is not
installed to any disk (as pygrub is used from outside the virtual
machine).
But since the upgrade from 1.99-27.1 to 2.00-14, installing new kernel
images (namely linux-image-3.8-1-amd64 and linux-image-3.8-2-amd64)
failed as follows:
Setting up linux-image-3.8-1-amd64 (3.8.12-1) ...
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-dater-host_reboot 3.8-1-amd64 /boot/vmlinuz-3.8-1-amd64
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.8-1-amd64 /boot/vmlinuz-3.8-1-amd64
update-initramfs: Generating /boot/initrd.img-3.8-1-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.8-1-amd64 /boot/vmlinuz-3.8-1-amd64
Searching for GRUB installation directory ... found: /boot/grub
warning: grub-probe can't find drive for /dev/xvda1.
grub-probe: warning: disk does not exist, so falling back to partition device /dev/xvda1.
grub-probe: error: cannot find a GRUB drive for /dev/xvda1. Check your device.map.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.8-1-amd64.postinst line 696, <STDIN> line 2.
dpkg: error processing linux-image-3.8-1-amd64 (--configure):
subprocess installed post-installation script returned error exit status 2
Setting up linux-image-3.8-2-amd64 (3.8.13-1) ...
Running depmod.
vmlinuz(/boot/vmlinuz-3.8-2-amd64
) points to /boot/vmlinuz-3.8-2-amd64
(/boot/vmlinuz-3.8-2-amd64) -- doing nothing at /var/lib/dpkg/info/linux-image-3.8-2-amd64.postinst line 268.
initrd.img(/boot/initrd.img-3.8-2-amd64
) points to /boot/initrd.img-3.8-2-amd64
(/boot/initrd.img-3.8-2-amd64) -- doing nothing at /var/lib/dpkg/info/linux-image-3.8-2-amd64.postinst line 268.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-dater-host_reboot 3.8-2-amd64 /boot/vmlinuz-3.8-2-amd64
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.8-2-amd64 /boot/vmlinuz-3.8-2-amd64
update-initramfs: Generating /boot/initrd.img-3.8-2-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.8-2-amd64 /boot/vmlinuz-3.8-2-amd64
Searching for GRUB installation directory ... found: /boot/grub
warning: grub-probe can't find drive for /dev/xvda1.
grub-probe: warning: disk does not exist, so falling back to partition device /dev/xvda1.
grub-probe: error: cannot find a GRUB drive for /dev/xvda1. Check your device.map.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-3.8-2-amd64.postinst line 696.
dpkg: error processing linux-image-3.8-2-amd64 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
linux-image-3.8-1-amd64
linux-image-3.8-2-amd64
Downgrading grub-common to the version from Wheezy/Jessie
(1.99-27+deb7u1) solved the failures.
Some more information about the virtual disk /dev/xvda1 and the grub
configuration:
$ fgrep /dev/xvda1 /etc/fstab
/dev/xvda1 / ext3 errors=remount-ro 0 1
$ cat /proc/cmdline
root=/dev/xvda1 ro root=/dev/xvda1 ro
$ ls -l /dev/xvda*
brw-rw---T 1 root disk 202, 1 Aug 28 2012 /dev/xvda1
brw-rw---T 1 root disk 202, 2 Aug 28 2012 /dev/xvda2
$ swapon -s
Filename Type Size Used Priority
/dev/xvda2 partition 2097148 66892 -1
$ cat /boot/grub/menu.lst
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-legacy-doc/.
default 0
timeout 5
# Pretty colours
color cyan/blue white/blue
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/xvda1 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,0)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(single-user) single
# altoptions=(single-user mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
## ## End Default Options ##
title Debian GNU/Linux, kernel 3.8-2-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.8-2-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.8-2-amd64
title Debian GNU/Linux, kernel 3.8-2-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.8-2-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.8-2-amd64
title Debian GNU/Linux, kernel 3.8-1-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.8-1-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.8-1-amd64
title Debian GNU/Linux, kernel 3.8-1-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.8-1-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.8-1-amd64
title Debian GNU/Linux, kernel 3.8-trunk-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.8-trunk-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.8-trunk-amd64
title Debian GNU/Linux, kernel 3.8-trunk-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.8-trunk-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.8-trunk-amd64
title Debian GNU/Linux, kernel 3.7-trunk-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.7-trunk-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.7-trunk-amd64
title Debian GNU/Linux, kernel 3.7-trunk-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.7-trunk-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.7-trunk-amd64
title Debian GNU/Linux, kernel 3.6-trunk-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.6-trunk-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.6-trunk-amd64
title Debian GNU/Linux, kernel 3.6-trunk-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.6-trunk-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.6-trunk-amd64
title Debian GNU/Linux, kernel 3.5-trunk-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.5-trunk-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.5-trunk-amd64
title Debian GNU/Linux, kernel 3.5-trunk-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.5-trunk-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.5-trunk-amd64
title Debian GNU/Linux, kernel 3.4-trunk-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.4-trunk-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.4-trunk-amd64
title Debian GNU/Linux, kernel 3.4-trunk-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.4-trunk-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.4-trunk-amd64
title Debian GNU/Linux, kernel 3.3.0-trunk-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.3.0-trunk-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.3.0-trunk-amd64
title Debian GNU/Linux, kernel 3.3.0-trunk-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.3.0-trunk-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.3.0-trunk-amd64
title Debian GNU/Linux, kernel 3.2.0-4-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.2.0-4-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.2.0-4-amd64
title Debian GNU/Linux, kernel 3.2.0-4-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.2.0-4-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.2.0-4-amd64
title Debian GNU/Linux, kernel 3.2.0-3-amd64
root (hd0,0)
kernel /boot/vmlinuz-3.2.0-3-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-3.2.0-3-amd64
title Debian GNU/Linux, kernel 3.2.0-3-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-3.2.0-3-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-3.2.0-3-amd64
title Debian GNU/Linux, kernel 2.6.32-5-xen-amd64
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-5-xen-amd64 root=/dev/xvda1 ro
initrd /boot/initrd.img-2.6.32-5-xen-amd64
title Debian GNU/Linux, kernel 2.6.32-5-xen-amd64 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-5-xen-amd64 root=/dev/xvda1 ro single
initrd /boot/initrd.img-2.6.32-5-xen-amd64
### END DEBIAN AUTOMAGIC KERNELS LIST
$
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (990, 'unstable'), (600, 'testing'), (400, 'stable'), (110, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.5-trunk-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages grub-common depends on:
ii gettext-base 0.18.1.1-10
ii libc6 2.17-3
ii libdevmapper1.02.1 2:1.02.77-1
ii libfreetype6 2.4.9-1.1
ii libfuse2 2.9.2-4
ii liblzma5 5.1.1alpha+20120614-2
ii zlib1g 1:1.2.8.dfsg-1
Versions of packages grub-common recommends:
pn os-prober <none>
Versions of packages grub-common suggests:
pn desktop-base <none>
pn grub-emu <none>
pn multiboot-doc <none>
pn xorriso <none>
-- no debconf information
More information about the Pkg-grub-devel
mailing list