Package: grub Version: 0.97-47lenny2 Severity: important Tags: patch
The patch 'debian/patches/xfs_freeze.diff' in the source package from version 0.97-47lenny2 breaks the option '--root-directory=' of '/usr/sbin/grub-install'. Fixing this can be done easily by adding '--device-map=${device_map}' in line 374 of '/usr/sbin/grub-install': -------------------------------------------------------------------------------- | if [ `grub-probe -t fs ${grubdir}` = "xfs" ] ; then | |--- TO ---> | | if [ `grub-probe --device-map=${device_map} -t fs ${grubdir}` = "xfs" ] ; then | -------------------------------------------------------------------------------- Attached is a patch which cann be applied against 'debian/patches/xfs_freeze.diff' of the source packages which fixes the probleme there. -- Package-specific info: *********************** BEGIN /boot/grub/device.map (hd0) /dev/sda (hd1) /dev/sdb (hd2) /dev/sdc (hd3) /dev/sdi *********************** END /boot/grub/device.map *********************** BEGIN /proc/mounts /dev/md0 / reiserfs rw,notail 0 0 /dev/md1 /home reiserfs rw 0 0 /dev/md2 /boot ext2 rw,errors=continue 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-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 ### ### DABE !!! //start ### title Debian GNU/Linux, CURRENT kernel (resume) root (hd0,3) kernel (hd0,3)/vmlinuz ro root=/dev/md0 md=0,/dev/sda1,/dev/sdb1,/dev/sdc1 resume=/dev/sdb3 vga=791 initrd (hd0,3)/initrd.img savedefault title Debian GNU/Linux, CURRENT kernel (NO resume) root (hd0,3) kernel (hd0,3)/vmlinuz ro root=/dev/md0 md=0,/dev/sda1,/dev/sdb1,/dev/sdc1 resume=/dev/sdb3 noresume vga=791 initrd (hd0,3)/initrd.img savedefault title Debian GNU/Linux, CURRENT kernel (failed sda, boot from sdb) root (hd1,3) kernel (hd1,3)/vmlinuz ro root=/dev/md0 md=0,/dev/sdb1,/dev/sdc1 initrd (hd1,3)/initrd.img savedefault title Debian GNU/Linux, CURRENT kernel (failed sdb, boot from sdc) root (hd2,3) kernel (hd2,3)/vmlinuz ro root=/dev/md0 md=0,/dev/sda1,/dev/sdc1 initrd (hd2,3)/initrd.img savedefault title Debian GNU/Linux, CURRENT kernel (failed sdc, boot from sda) root (hd0,3) kernel (hd0,3)/vmlinuz ro root=/dev/md0 md=0,/dev/sda1,/dev/sdb1 initrd (hd0,3)/initrd.img savedefault ### DABE !!! //end### # # 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=ro root=/dev/md0 md=0,/dev/sda1,/dev/sdb1,/dev/sdc1 ## default grub root device ## e.g. groot=(hd0,0) # groot=(hd0,3) ## should update-grub create alternative automagic boot options ## e.g. alternative=true ## alternative=false # alternative=false ## 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.5 Default root (hd0,3) kernel /vmlinuz ro root=/dev/md0 md=0,/dev/sda1,/dev/sdb1,/dev/sdc1 initrd /initrd.img title Debian GNU/Linux, kernel 2.6.26.5 root (hd0,3) kernel /vmlinuz-2.6.26.5 ro root=/dev/md0 md=0,/dev/sda1,/dev/sdb1,/dev/sdc1 initrd /initrd.img-2.6.26.5 title Debian GNU/Linux, kernel 2.6.26-2-amd64 root (hd0,3) kernel /vmlinuz-2.6.26-2-amd64 ro root=/dev/md0 md=0,/dev/sda1,/dev/sdb1,/dev/sdc1 initrd /initrd.img-2.6.26-2-amd64 ### END DEBIAN AUTOMAGIC KERNELS LIST *********************** END /boot/grub/menu.lst -- System Information: Debian Release: 5.0 APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.26.5 (SMP w/4 CPU cores) Locale: lang=de...@euro, lc_ctype=de...@euro (charmap=ISO-8859-15) Shell: /bin/sh linked to /bin/bash Versions of packages grub depends on: ii grub-common 1.96+20080724-16 GRand Unified Bootloader, version grub recommends no packages. Versions of packages grub suggests: pn grub-legacy-doc <none> (no description available) ii mdadm 2.6.8-12-gb47dff6-2 tool to administer Linux MD arrays pn multiboot-doc <none> (no description available) -- no debconf information
--- broken/debian/patches/xfs_freeze.diff 2009-04-29 19:58:04.000000000 +0200 +++ fixed/debian/patches/xfs_freeze.diff 2009-04-29 20:09:20.000000000 +0200 @@ -10,7 +10,7 @@ +sync + +# On XFS, sync() is not enough. -+if [ `grub-probe -t fs ${grubdir}` = "xfs" ] ; then ++if [ `grub-probe --device-map=${device_map} -t fs ${grubdir}` = "xfs" ] ; then + xfs_freeze -f ${grubdir} && xfs_freeze -u ${grubdir} + # We don't have set -e. If xfs_freeze failed, it's worth trying anyway, + # maybe we're lucky.