Bug#583271: grub-pc: squeeze install gives broken device.map rendering grub-install useless
sean finney
seanius at debian.org
Wed May 26 18:10:01 UTC 2010
Package: grub-pc
Version: 1.98-1
Severity: important
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
okay, while looking into #574863 i installed a fresh system in a kvm
instance, and while the installer happily delivers a system with
both / and /boot under an lvm partition, subsequently running grub-install
on the new system fails:
root at debian:~# grub-install '(hd0)'
/usr/sbin/grub-probe: error: no mapping exists for `vg0-root'.
Auto-detection of a filesystem module failed.
Please specify the module with the option `--modules' explicitly.
root at debian:~# grub-install /dev/sda
/usr/sbin/grub-probe: error: no mapping exists for `vg0-root'.
Auto-detection of a filesystem module failed.
Please specify the module with the option `--modules' explicitly.
root at debian:~# grub-install --modules="lvm ext2" '(hd0)'
/usr/sbin/grub-probe: error: no mapping exists for `vg0-root'.
/usr/sbin/grub-probe: error: no mapping exists for `vg0-root'.
/usr/sbin/grub-probe: error: no mapping exists for `vg0-root'.
You attempted a cross-disk install, but the filesystem containing /boot/grub does not support UUIDs.
the strange thing is that the when the bootloader was installed via the
installer no errors were detected. from the installer syslog:
May 26 17:24:46 grub-installer: info: Installing grub on '(hd0)'
May 26 17:24:46 grub-installer: info: grub-install supports --no-floppy
May 26 17:24:46 grub-installer: info: Running chroot /target grub-install --no-floppy --force "(hd0)"
May 26 17:24:47 grub-installer: Installation finished. No error reported.
May 26 17:24:47 grub-installer: info: grub-install ran successfully
but now on the system in question:
root at debian:~# grub-install --no-floppy --force "(hd0)"
/usr/sbin/grub-probe: error: no mapping exists for `vg0-root'.
Auto-detection of a filesystem module failed.
Please specify the module with the option `--modules' explicitly.
it looks like the generated devices.map has an incorrect entry:
(hd0) /dev/sda
but on the freshly installed squeeze system is actually /dev/hda. replacing
this seems to solve the problem, but then doing a dist-upgrade to sid
(which brings in 2.6.32-5) results in the device being renamed to sda,
requiring us to change the device.map back again (after rebooting, but
not before!).
otherwise grub-probe/grub-install will not work and doing a dist-upgrade
or otherwise installing a new kernel will likely result in an unbootable
system. it may be worth noting that #554790 could possibly fix this if it
is ever applied, but the fact that a fresh system is delivered broken
warrants (imho anyway) a seperate bug. i debated with myself the severity
this should receive... originally i was going to file with critical but
am now tending towards important, giving the maintainer (assuming *someone*
is still maintaining this... Colin maybe?) or release team the perogative
to upgrade it if they see it fit to do so.
as a side note i have a number of throw-away test systems that I can use to
test this, please let me know if i can be of service.
sean
- -- Package-specific info:
*********************** BEGIN /proc/mounts
rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
none /proc proc rw,nosuid,nodev,noexec,relatime 0 0
none /dev devtmpfs rw,relatime,size=253188k,nr_inodes=63297,mode=755 0 0
none /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/mapper/vg0-root / ext3 rw,relatime,errors=remount-ro,data=ordered 0 0
tmpfs /lib/init/rw tmpfs rw,nosuid,relatime,mode=755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
*********************** END /proc/mounts
*********************** BEGIN /boot/grub/device.map
(hd0) /dev/sda
*********************** END /boot/grub/device.map
*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
set saved_entry=${prev_saved_entry}
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z ${boot_once} ]; then
saved_entry=${chosen}
save_env saved_entry
fi
}
insmod lvm
insmod ext2
set root='(vg0-root)'
search --no-floppy --fs-uuid --set 6a312b63-9fb4-4ea1-a1dd-29a786db5cbe
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
insmod lvm
insmod ext2
set root='(vg0-root)'
search --no-floppy --fs-uuid --set 6a312b63-9fb4-4ea1-a1dd-29a786db5cbe
set locale_dir=($root)/boot/grub/locale
set lang=C.UTF-8
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, with Linux 2.6.32-3-486" --class debian --class gnu-linux --class gnu --class os {
insmod lvm
insmod ext2
set root='(vg0-root)'
search --no-floppy --fs-uuid --set 6a312b63-9fb4-4ea1-a1dd-29a786db5cbe
echo Loading Linux 2.6.32-3-486 ...
linux /boot/vmlinuz-2.6.32-3-486 root=/dev/mapper/vg0-root ro quiet
echo Loading initial ramdisk ...
initrd /boot/initrd.img-2.6.32-3-486
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-3-486 (recovery mode)" --class debian --class gnu-linux --class gnu --class os {
insmod lvm
insmod ext2
set root='(vg0-root)'
search --no-floppy --fs-uuid --set 6a312b63-9fb4-4ea1-a1dd-29a786db5cbe
echo Loading Linux 2.6.32-3-486 ...
linux /boot/vmlinuz-2.6.32-3-486 root=/dev/mapper/vg0-root ro single
echo Loading initial ramdisk ...
initrd /boot/initrd.img-2.6.32-3-486
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
*********************** END /boot/grub/grub.cfg
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iD8DBQFL/WP0ynjLPm522B0RAl6fAJ4x+vWJ0CGIIg98piCSwJQZqeFx5gCfd8/5
tV/Ryhq7NUhb7v2zB80lDTM=
=g9uX
-----END PGP SIGNATURE-----
More information about the Pkg-grub-devel
mailing list