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 ---

