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