Hi Sam, On Thu, Feb 07, 2008 at 06:34:26PM +0000, Sam Morris wrote: > diff -ru grub2-1.96+20080203+orig/kern/main.c > grub2-1.96+20080203+sam/kern/main.c > --- grub2-1.96+20080203+orig/kern/main.c 2008-01-05 12:04:35.000000000 > +0000 > +++ grub2-1.96+20080203+sam/kern/main.c 2008-02-07 08:41:01.000000000 > +0000 > @@ -102,8 +102,13 @@ > /* Load the module. */ > grub_dl_load ("normal"); > > - /* Ignore any error, because we have the rescue mode anyway. */ > - grub_errno = GRUB_ERR_NONE; > + if (grub_errno != GRUB_ERR_NONE) > + { > + grub_printf ("Unable to enter 'normal' mode (error %d: %s)\n", > grub_errno, grub_errmsg); > + > + /* We're about to continue into rescue mode, so clear the error. */ > + grub_errno = GRUB_ERR_NONE; > + }
I just checked, and it seems we already have a function for this: grub_print_error(). If you just invoke this function, do you get the desired result? Also, I wonder why the existing grub_print_error() call in the rescue loop doesn't handle this already (in kern/rescue.c). Perhaps all you need to do is remove these two lines? diff -ur grub2/kern/main.c tmp/kern/main.c --- grub2/kern/main.c 2008-01-05 13:04:35.000000000 +0100 +++ tmp/kern/main.c 2008-02-08 02:09:03.000000000 +0100 @@ -101,9 +101,6 @@ { /* Load the module. */ grub_dl_load ("normal"); - - /* Ignore any error, because we have the rescue mode anyway. */ - grub_errno = GRUB_ERR_NONE; } /* The main routine. */ -- Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What use is a phone call… if you are unable to speak? (as seen on /.) _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel