Package: grub-common
Version: 1.98+20100804-7
Severity: important
Tags: patch
Hello,
it seems I have really bad luck with DMRAID/grub2 after upgrading machines to
Squeeze (thanks for fixing #594221, btw). This time I ran into an issue of
grub-probe failing to recognize my DMRAID array which uses DDF1 metadata
format. Fortunately, the fix is really trivial this time. The patch is
attached. Please ship it with Squeeze as nobody will be able to use grub2 with
DDF1 arrays otherwise which would be a shame.
P.S. I have also checked the list in grub_util_is_dmraid() against dmraid
1.0.0.rc16 sources. It seems that once you add DDF1 support, the list will be
complete.
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=lt_LT.UTF-8, LC_CTYPE=lt_LT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages grub-common depends on:
ii base-files 5.9 Debian base system miscellaneous f
ii dpkg 1.15.8.5 Debian package management system
ii gettext-base 0.18.1.1-3 GNU Internationalization utilities
ii install-info 4.13a.dfsg.1-6 Manage installed documentation in
ii libc6 2.11.2-7 Embedded GNU C Library: Shared lib
ii libdevmapper1.02.1 2:1.02.48-4 The Linux Kernel Device Mapper use
ii libfreetype6 2.4.2-1 FreeType 2 font engine, shared lib
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
Versions of packages grub-common recommends:
pn os-prober <none> (no description available)
Versions of packages grub-common suggests:
pn grub-emu <none> (no description available)
pn multiboot-doc <none> (no description available)
ii xorriso 0.5.6.pl00-2 command line iso9660+RR manipulati
-- no debconf information
--- Begin Message ---
Recognize /dev/mapper/ddf1_ as DMRAID prefix in
kern/emu/getroot.c:grub_util_is_dmraid(). DDF1 format implementation is
available at lib/format/ddf/ddf1.c in the dmraid sources.
This patch makes grub-probe recognize ddf1_* array properly and allows grub2 to
boot kernel/initrd from it (tested).
--- a/kern/emu/getroot.c
+++ b/kern/emu/getroot.c
@@ -569,6 +569,8 @@
return 1;
else if (! strncmp (os_dev, "/dev/mapper/sil_", 16))
return 1;
+ else if (! strncmp (os_dev, "/dev/mapper/ddf1_", 17))
+ return 1;
return 0;
}
--- End Message ---