Control: tag -1 patch

* Steve Graham <b...@annaghvarn.plus.com> [2014-08-16 13:27 +0100]:

> I also have a system with no LVM requirement.
> 
> The lines "/proc/devices: No entry for device-mapper found" are emitted by
> grub-probe. In general, the grub scripts redirect grub-probe's stderr to
> /dev/null to suppress these, but the subroutines in
> /usr/share/grub/grub-mkconfig_lib aren't completely consistent in doing so.
> 
> I quickly hacked /usr/share/grub/grub-mkconfig_lib to add the redirection on
> every invocation of grub-probe and the messages have gone away.
> 
> For example, the original line
>    partmap="`"${grub_probe}" --device $@ --target=partmap`"
> was changed to
>    partmap="`"${grub_probe}" --device $@ --target=partmap`" 2> /dev/null
> 
> (I'm not supplying an actual diff because I haven't checked the full logic
> and may have broken something. It was just a quick experiment.)

Attached patch I've successfully tested on i386_soft-raid,
amd64_one-disk, amd64_LVM_soft-raid and ppc_one-disk

Elimar
-- 
 Learned men are the cisterns of knowledge,
  not the fountainheads ;-)
--- grub-mkconfig_lib.orig	2014-12-14 11:07:59.045290582 +0100
+++ grub-mkconfig_lib	2014-12-14 11:14:01.040853930 +0100
@@ -68,7 +68,7 @@
 
   # ... or if we can't figure out the abstraction module, for example if
   # memberlist fails on an LVM volume group.
-  if abstractions="`"${grub_probe}" -t abstraction "$path"`" 2> /dev/null ; then 
+  if abstractions="`"${grub_probe}" -t abstraction "$path" 2> /dev/null`"; then 
       :
   else
     return 1
@@ -98,7 +98,7 @@
     return 1
   fi
 
-  if drive="`"${grub_probe}" -t drive "$path"`" ; then : ; else
+  if drive="`"${grub_probe}" -t drive "$path" 2> /dev/null`" ; then : ; else
     return 1
   fi
 
@@ -123,7 +123,7 @@
   old_ifs="$IFS"
   IFS='
 '
-  partmap="`"${grub_probe}" --device $@ --target=partmap`"
+  partmap="`"${grub_probe}" --device $@ --target=partmap 2> /dev/null`"
   for module in ${partmap} ; do
     case "${module}" in
       netbsd | openbsd)
@@ -150,12 +150,12 @@
   esac
 
   # Abstraction modules aren't auto-loaded.
-  abstraction="`"${grub_probe}" --device $@ --target=abstraction`"
+  abstraction="`"${grub_probe}" --device $@ --target=abstraction 2> /dev/null`"
   for module in ${abstraction} ; do
     echo "insmod ${module}"
   done
 
-  fs="`"${grub_probe}" --device $@ --target=fs`"
+  fs="`"${grub_probe}" --device $@ --target=fs 2> /dev/null`"
   for module in ${fs} ; do
     echo "insmod ${module}"
   done
@@ -168,7 +168,7 @@
 
   # If there's a filesystem UUID that GRUB is capable of identifying, use it;
   # otherwise set root as per value in device.map.
-  fs_hint="`"${grub_probe}" --device $@ --target=compatibility_hint`"
+  fs_hint="`"${grub_probe}" --device $@ --target=compatibility_hint 2> /dev/null`"
   if [ "x$fs_hint" != x ]; then
     echo "set root='$fs_hint'"
   fi
@@ -314,7 +314,7 @@
   IFS='
 '
 
-  abstraction="`"${grub_probe}" --device ${device} --target=abstraction`"
+  abstraction="`"${grub_probe}" --device ${device} --target=abstraction 2> /dev/null`"
   for module in ${abstraction}; do
     if test "x${module}" = "x$2"; then
       IFS="$old_ifs"

Attachment: signature.asc
Description: Digital signature

Reply via email to