On Wed, Jun 18, 2008 at 11:01:07AM +0200, florian kriener wrote:
> 
> I suspect
> 
>    set root=(vg-usr)
> 
> to be the culprit here.

First of all, I see that you don't have a "insmod lvm" even though it should be
there.  I think the attached patch should fix that (please confirm; you can
apply directly to update-grub_lib).

> ### BEGIN /etc/grub.d/05_debian_theme ###
> set root=(vg-usr)
> search --fs-uuid --set b22901d9-92ac-4e02-9b5b-9225451ab970
> insmod png
> if background_image 
> /share/images/desktop-base/debian-blueish-wallpaper-640x480.png ; then
>   set color_normal=black/black
>   set color_highlight=magenta/black
> else
>   set menu_color_normal=cyan/blue
>   set menu_color_highlight=white/blue
> fi
> ### END /etc/grub.d/05_debian_theme ###

Then we have 05_debian_theme setting root and not setting it back to what it
should be to access /boot, and I think I know why.  Attached patch includes a
hunk to address that, too (please confirm).

Thanks

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
diff -x ChangeLog -x configure -x config.h.in -x CVS -x '*~' -x '*.mk' -urp ../grub2/util/update-grub_lib.in ./util/update-grub_lib.in
--- ../grub2/util/update-grub_lib.in	2008-06-17 17:13:04.000000000 +0200
+++ ./util/update-grub_lib.in	2008-06-18 20:01:28.000000000 +0200
@@ -114,12 +114,6 @@ prepare_grub_to_access_device ()
 {
   device=$1
 
-  # If our target is the same partition that provides /boot/grub, our $root
-  # is already set to what we want, so no need to bother with UUIDs.
-  if [ "x${device}" = "x`${grub_probe} --target=device /boot/grub`" ] ; then
-    return
-  fi
-
   # If there's a filesystem UUID that GRUB is capable of identifiing, use it;
   # otherwise set root as per value in device.map.
   echo "set root=`${grub_probe} --device ${device} --target=drive`"
@@ -128,7 +122,10 @@ prepare_grub_to_access_device ()
   fi
 
   # Abstraction modules aren't auto-loaded.
-  GRUB_PRELOAD_MODULES="${GRUB_PRELOAD_MODULES} `${grub_probe} --device ${device} --target=abstraction`"
+  abstraction="`${grub_probe} --device ${device} --target=abstraction`"
+  if [ "x${abstraction}" = "x" ] ; then
+    echo "insmod ${abstraction}"
+  fi
 }
 
 font_path ()

Reply via email to