Bug#501306: update-grub fails with raid1 boot partition
Dan Poltawski
dan.poltawski at lancaster.ac.uk
Mon Oct 6 12:44:48 UTC 2008
Package: grub
Version: 0.97-47
Severity: critical
Justification: breaks unrelated software
When installing new kernels onto the system, the kernel package post
instalation fails on update-grub (output attached below), this
problem has also affected a number of my collegues, all of us have
a raid1 configuration on our boot partition.
I tried to get to the bottom of the problem by running the following
steps:
Running update-grub manually produces the errored status:
root at cream:~# update-grub
Searching for GRUB installation directory ... found: /boot/grub
root at cream:~# echo $?
1
Upon investigation of the update-grub script, I tracked the problem down to
line 155 of update grub:
GRUB_LEGACY_0_BASED_PARTITIONS=1 grub-probe --device-map=${device_map} -t drive -d "$1" 2> /dev/null
I discovered the options that were being used and this is the command which is being run:
root at cream:~# /usr/sbin/grub-probe --device-map=/boot/grub/device.map -t drive -d "/dev/sda1"
error: cannot open `/dev/sdf'
error: cannot open `/dev/sdf'
grub-probe: error: Cannot find a GRUB drive for /dev/sda1. Check your device.map.
This results in convert() returning error status.
Please let me know if I can be of any more assistance
APT OUTPUT:
Setting up linux-image-2.6.26-1-686 (2.6.26-5) ...
Running depmod.
Running mkinitramfs-kpkg.
initrd.img(/boot/initrd.img-2.6.26-1-686
) points to /boot/initrd.img-2.6.26-1-686
(/boot/initrd.img-2.6.26-1-686) -- doing nothing at /var/lib/dpkg/info/linux-image-2.6.26-1-686.postinst line 569.
vmlinuz(/boot/vmlinuz-2.6.26-1-686
) points to /boot/vmlinuz-2.6.26-1-686
(/boot/vmlinuz-2.6.26-1-686) -- doing nothing at /var/lib/dpkg/info/linux-image-2.6.26-1-686.postinst line 569.
Running postinst hook script update-grub.
Searching for GRUB installation directory ... found: /boot/grub
/dev/sda1 /boot/grub/device.map
User postinst hook script [update-grub] exited with value 1
dpkg: error processing linux-image-2.6.26-1-686 (--configure):
subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-2.6-686:
linux-image-2.6-686 depends on linux-image-2.6.26-1-686; however:
Package linux-image-2.6.26-1-686 is not configured yet.
dpkg: error processing linux-image-2.6-686 (--configure):
dependency problems - leaving unconfigured
Setting up libpq5 (8.3.4-1) ...
Errors were encountered while processing:
linux-image-2.6.26-1-686
linux-image-2.6-686
E: Sub-process /usr/bin/dpkg returned an error code (1)
-- Package-specific info:
*********************** BEGIN /boot/grub/device.map
(hd0) /dev/sde
(hd1) /dev/sdf
*********************** END /boot/grub/device.map
*********************** BEGIN /proc/mounts
/dev/mapper/vg0-root / ext3 rw,errors=remount-ro,data=ordered 0 0
/dev/mapper/vg0-root /dev/.static/dev ext3 rw,errors=remount-ro,data=ordered 0 0
/dev/md0 /boot ext3 rw,errors=continue,data=ordered 0 0
/dev/mapper/vg0-home /home ext3 rw,errors=continue,data=ordered 0 0
/dev/mapper/vg0-srv /srv ext3 rw,errors=continue,data=ordered 0 0
/dev/mapper/vg0-usr /usr ext3 rw,errors=continue,data=ordered 0 0
/dev/mapper/vg0-var /var ext3 rw,errors=continue,data=ordered 0 0
*********************** END /proc/mounts
*********************** BEGIN /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 num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 5
# Pretty colours
color cyan/blue white/blue
### PASSWORD LINE REMOVED ###
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
### PASSWORD LINE REMOVED ###
### PASSWORD LINE REMOVED ###
### PASSWORD LINE REMOVED ###
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# 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/mapper/vg0-root 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 2.6.26-1-vserver-686-bigmem
root (hd0,0)
kernel /vmlinuz-2.6.26-1-vserver-686-bigmem root=/dev/mapper/vg0-root ro
initrd /initrd.img-2.6.26-1-vserver-686-bigmem
title Debian GNU/Linux, kernel 2.6.26-1-vserver-686-bigmem (single-user mode)
root (hd0,0)
kernel /vmlinuz-2.6.26-1-vserver-686-bigmem root=/dev/mapper/vg0-root ro single
initrd /initrd.img-2.6.26-1-vserver-686-bigmem
title Debian GNU/Linux, kernel 2.6.26-1-686
root (hd0,0)
kernel /vmlinuz-2.6.26-1-686 root=/dev/mapper/vg0-root ro
initrd /initrd.img-2.6.26-1-686
title Debian GNU/Linux, kernel 2.6.26-1-686 (single-user mode)
root (hd0,0)
kernel /vmlinuz-2.6.26-1-686 root=/dev/mapper/vg0-root ro single
initrd /initrd.img-2.6.26-1-686
title Debian GNU/Linux, kernel 2.6.24-1-686
root (hd0,0)
kernel /vmlinuz-2.6.24-1-686 root=/dev/mapper/vg0-root ro
initrd /initrd.img-2.6.24-1-686
title Debian GNU/Linux, kernel 2.6.24-1-686 (single-user mode)
root (hd0,0)
kernel /vmlinuz-2.6.24-1-686 root=/dev/mapper/vg0-root ro single
initrd /initrd.img-2.6.24-1-686
### END DEBIAN AUTOMAGIC KERNELS LIST
*********************** END /boot/grub/menu.lst
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-1-vserver-686-bigmem (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages grub depends on:
ii grub-common 1.96+20080724-10 GRand Unified Bootloader, version
ii libc6 2.7-13 GNU C Library: Shared libraries
ii libncurses5 5.6+20080830-1 shared libraries for terminal hand
grub recommends no packages.
Versions of packages grub suggests:
pn grub-legacy-doc <none> (no description available)
ii mdadm 2.6.7-3.1 tool to administer Linux MD arrays
pn multiboot-doc <none> (no description available)
-- no debconf information
More information about the Pkg-grub-devel
mailing list