Bug#545572: grub-pc: Fails to configure due to buggy grub-probe

Roger Leigh rleigh at debian.org
Tue Sep 8 07:36:26 UTC 2009


Package: grub-pc
Version: 1.97~beta2-2
Severity: important

% sudo dpkg --configure grub-pc
Setting up grub-pc (1.97~beta2-2) ...
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0)   /dev/sda
(hd1)   /dev/sdb
grub-probe: error: cannot find a device for /.

dpkg: error processing grub-pc (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 grub-pc


% sudo update-grub
grub-probe: error: cannot find a device for /.

% sudo grub-probe /
grub-probe: error: cannot find a device for /.

Now, the root filesystem is on LVM (ravenclaw-root or dm-0):

% ls -l /dev/mapper
total 0
crw-rw---- 1 root root  10, 60 2009-09-07 16:57 control
brw-rw---- 1 root disk 253,  5 2009-09-07 16:57 ravenclaw-chroots
brw-rw---- 1 root disk 253,  4 2009-09-07 16:57 ravenclaw-chroots-real
brw-rw---- 1 root disk 253, 10 2009-09-07 16:57 ravenclaw-home
brw-rw---- 1 root disk 253,  3 2009-09-07 16:57 ravenclaw-mybook--backup
lrwxrwxrwx 1 root root       7 2009-09-07 16:57 ravenclaw-root -> ../dm-0
brw-rw---- 1 root disk 253,  9 2009-09-07 16:57 ravenclaw-sid--snap--68ddab45--e28d--4dc6--a8fd--b165a327f38f
brw-rw---- 1 root disk 253,  8 2009-09-07 16:57 ravenclaw-sid--snap--68ddab45--e28d--4dc6--a8fd--b165a327f38f-cow
brw-rw---- 1 root disk 253,  7 2009-09-07 16:57 ravenclaw-sid--snap--7dff68da--110c--4f60--a25c--1ae51505b04e
brw-rw---- 1 root disk 253,  6 2009-09-07 16:57 ravenclaw-sid--snap--7dff68da--110c--4f60--a25c--1ae51505b04e-cow
lrwxrwxrwx 1 root root       7 2009-09-07 16:57 ravenclaw-swap -> ../dm-1
brw-rw---- 1 root disk 253, 11 2009-09-07 16:57 ravenclaw-usr
brw-rw---- 1 root disk 253, 12 2009-09-07 16:57 ravenclaw-var
brw-rw---- 1 root disk 253,  2 2009-09-07 16:57 ravenclaw-var--old

% ls -l /dev/dm*
brw-rw---- 1 root root 253, 0 2009-09-07 16:57 /dev/dm-0
brw-rw---- 1 root root 253, 1 2009-09-07 16:57 /dev/dm-1
lrwxrwxrwx 1 root root     21 2009-09-07 16:57 /dev/dm-10 -> mapper/ravenclaw-home
lrwxrwxrwx 1 root root     20 2009-09-07 16:57 /dev/dm-11 -> mapper/ravenclaw-usr
lrwxrwxrwx 1 root root     20 2009-09-07 16:57 /dev/dm-12 -> mapper/ravenclaw-var
lrwxrwxrwx 1 root root     25 2009-09-07 16:57 /dev/dm-2 -> mapper/ravenclaw-var--old
lrwxrwxrwx 1 root root     31 2009-09-07 16:57 /dev/dm-3 -> mapper/ravenclaw-mybook--backup
lrwxrwxrwx 1 root root     29 2009-09-07 16:57 /dev/dm-4 -> mapper/ravenclaw-chroots-real
lrwxrwxrwx 1 root root     24 2009-09-07 16:57 /dev/dm-5 -> mapper/ravenclaw-chroots
lrwxrwxrwx 1 root root     72 2009-09-07 16:57 /dev/dm-6 -> mapper/ravenclaw-sid--snap--7dff68da--110c--4f60--a25c--1ae51505b04e-cow
lrwxrwxrwx 1 root root     68 2009-09-07 16:57 /dev/dm-7 -> mapper/ravenclaw-sid--snap--7dff68da--110c--4f60--a25c--1ae51505b04e
lrwxrwxrwx 1 root root     72 2009-09-07 16:57 /dev/dm-8 -> mapper/ravenclaw-sid--snap--68ddab45--e28d--4dc6--a8fd--b165a327f38f-cow
lrwxrwxrwx 1 root root     68 2009-09-07 16:57 /dev/dm-9 -> mapper/ravenclaw-sid--snap--68ddab45--e28d--4dc6--a8fd--b165a327f38f

% ls -l /dev/dm-0
brw-rw---- 1 root root 253, 0 2009-09-07 16:57 /dev/dm-0

% df /
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/dm-0               694231    322362    336249  49% /

So it looks like this is partly the fault of udev.  It's making
two of the LVM devices into symlinks to /dev/dm-* for some
unknown reason.  This is odd, but the symlink /is/ pointing to the
correct device.  Fixing this results in a working grub:

% sudo rm /dev/mapper/ravenclaw-root
% sudo mv /dev/dm-0 /dev/mapper/ravenclaw-root
% sudo update-grub
Generating grub.cfg ...
Found Debian background: moreblue-orbit-grub.png
Found linux image: /boot/vmlinuz-2.6.30-1-amd64
Found initrd image: /boot/initrd.img-2.6.30-1-amd64
Found linux image: /boot/vmlinuz-2.6.29-2-amd64
Found initrd image: /boot/initrd.img-2.6.29-2-amd64
Found Windows Vista (loader) on /dev/sda1
done

% sudo dpkg --configure grub-pc
Setting up grub-pc (1.97~beta2-2) ...
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0)   /dev/sda
(hd1)   /dev/sdb
Generating grub.cfg ...
Found Debian background: moreblue-orbit-grub.png
Found linux image: /boot/vmlinuz-2.6.30-1-amd64
Found initrd image: /boot/initrd.img-2.6.30-1-amd64
Found linux image: /boot/vmlinuz-2.6.29-2-amd64
Found initrd image: /boot/initrd.img-2.6.29-2-amd64
Found Windows Vista (loader) on /dev/sda1
done

In summary, I think that grub-probe should be following symlinks to
valid block devices.  While they might be unusual, they are
certainly correct and functional.  As shown above, the symlink
pointed to a device with the correct block major and minor numbers,
so it could get the correct information with a simple stat of the
symlink.


Regards,
Roger

-- Package-specific info:

*********************** BEGIN /proc/mounts
/dev/mapper/ravenclaw-root / ext3 rw,relatime,errors=remount-ro,data=ordered 0 0
/dev/sda2 /boot ext2 rw,nodev,relatime,errors=continue 0 0
/dev/mapper/ravenclaw-home /home ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,usrquota,grpquota 0 0
/dev/mapper/ravenclaw-usr /usr ext4 rw,nodev,relatime,barrier=1,data=ordered 0 0
/dev/mapper/ravenclaw-var /var ext4 rw,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/mapper/ravenclaw-chroots /srv/chroot ext3 rw,relatime,errors=continue,data=ordered 0 0
/dev/mapper/ravenclaw-mybook--backup /srv/data/phd ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/sdb1 /srv/data/windows-scratch vfat rw,relatime,uid=1000,gid=1000,fmask=0022,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=utf8 0 0
/dev/mapper/ravenclaw-var /var/lib/schroot/mount/sid-file-586bdc8b-4dbf-4727-9596-1398387aae42 ext4 rw,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/mapper/ravenclaw-home /var/lib/schroot/mount/sid-file-586bdc8b-4dbf-4727-9596-1398387aae42/home ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,usrquota,grpquota 0 0
/dev/mapper/ravenclaw-var /var/lib/schroot/mount/sid-file-bdf5d666-1da2-4dff-9676-b457ee9654f1 ext4 rw,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/mapper/ravenclaw-home /var/lib/schroot/mount/sid-file-bdf5d666-1da2-4dff-9676-b457ee9654f1/home ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,usrquota,grpquota 0 0
/dev/mapper/ravenclaw-var /var/lib/schroot/mount/sid-file-df632cc9-6b69-4c80-b9b5-6bada9f97b2b ext4 rw,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/mapper/ravenclaw-home /var/lib/schroot/mount/sid-file-df632cc9-6b69-4c80-b9b5-6bada9f97b2b/home ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,usrquota,grpquota 0 0
/dev/sdc2 /media/rleigh-key2 ext2 rw,nosuid,nodev,relatime,errors=continue 0 0
*********************** END /proc/mounts

*********************** BEGIN /boot/grub/device.map
(hd0)	/dev/sda
(hd1)	/dev/sdb
*********************** 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 ###
set default=0
insmod ext2
set root=(hd0,2)
search --no-floppy --fs-uuid --set e0acf2fb-ded0-40c1-8bc3-9faee7fc8a73
if loadfont /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
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod ext2
set root=(hd0,2)
search --no-floppy --fs-uuid --set e0acf2fb-ded0-40c1-8bc3-9faee7fc8a73
insmod png
if background_image /grub/moreblue-orbit-grub.png ; then
  set color_normal=black/black
  set color_highlight=magenta/black
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, Linux 2.6.30-1-amd64" {
	insmod ext2
	set root=(hd0,2)
	search --no-floppy --fs-uuid --set e0acf2fb-ded0-40c1-8bc3-9faee7fc8a73
	linux	/vmlinuz-2.6.30-1-amd64 root=/dev/mapper/ravenclaw-root ro  quiet
	initrd	/initrd.img-2.6.30-1-amd64
}
menuentry "Debian GNU/Linux, Linux 2.6.30-1-amd64 (recovery mode)" {
	insmod ext2
	set root=(hd0,2)
	search --no-floppy --fs-uuid --set e0acf2fb-ded0-40c1-8bc3-9faee7fc8a73
	linux	/vmlinuz-2.6.30-1-amd64 root=/dev/mapper/ravenclaw-root ro single 
	initrd	/initrd.img-2.6.30-1-amd64
}
menuentry "Debian GNU/Linux, Linux 2.6.29-2-amd64" {
	insmod ext2
	set root=(hd0,2)
	search --no-floppy --fs-uuid --set e0acf2fb-ded0-40c1-8bc3-9faee7fc8a73
	linux	/vmlinuz-2.6.29-2-amd64 root=/dev/mapper/ravenclaw-root ro  quiet
	initrd	/initrd.img-2.6.29-2-amd64
}
menuentry "Debian GNU/Linux, Linux 2.6.29-2-amd64 (recovery mode)" {
	insmod ext2
	set root=(hd0,2)
	search --no-floppy --fs-uuid --set e0acf2fb-ded0-40c1-8bc3-9faee7fc8a73
	linux	/vmlinuz-2.6.29-2-amd64 root=/dev/mapper/ravenclaw-root ro single 
	initrd	/initrd.img-2.6.29-2-amd64
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows Vista (loader) (on /dev/sda1)" {
	insmod ntfs
	set root=(hd0,1)
	search --no-floppy --fs-uuid --set 82a24ce6a24ce071
	chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_otheros ###

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
menuentry "Windows Vista/Longhorn (loader)" {
	set root=(hd0,0)
	chainloader +1
}
### END /etc/grub.d/30_otheros ###

### BEGIN /etc/grub.d/40_custom ###
# This file is an example on how to add custom entries
### END /etc/grub.d/40_custom ###
*********************** END /boot/grub/grub.cfg

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (550, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.30-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages grub-pc depends on:
ii  debconf [debconf-2.0]       1.5.27       Debian configuration management sy
ii  grub-common                 1.97~beta2-2 GRand Unified Bootloader, version 
ii  libc6                       2.9-26       GNU C Library: Shared libraries
ii  ucf                         3.0021       Update Configuration File: preserv

grub-pc recommends no packages.

Versions of packages grub-pc suggests:
ii  desktop-base                  5.0.5      common files for the Debian Deskto
ii  genisoimage                   9:1.1.9-1  Creates ISO-9660 CD-ROM filesystem

-- debconf information:
  grub2/kfreebsd_cmdline:
* grub-pc/linux_cmdline:
* grub2/linux_cmdline:
* grub-pc/chainload_from_menu.lst: false
  grub-pc/kopt_extracted: false
  grub-pc/postrm_purge_boot_grub: false
  grub2/kfreebsd_cmdline_default: quiet
* grub2/linux_cmdline_default: quiet
* grub-pc/install_devices: /dev/sda





More information about the Pkg-grub-devel mailing list