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
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel