Could you use grub-print-error rather than just resetting error? And we
should do it after every command in embedded config
Le 2015-02-28 6:45 PM, "Andrei Borzenkov" <arvidj...@gmail.com> a écrit :

> Resetting grub_errno to GRUB_ERR_NONE before loading normal does allow
> it to proceed.
>
> At this point I'm not sure what is the correct behavior. Either
> explicitly check for error and simply do not even try to automatically
> jump into normal (it is still possible to load it manually) or reset
> grub_errno and ignore.
>
> The problem was exposed by someone trying to build minimal possible
> image using grub-mkrescue and so omitting most partition modules. This
> resulted in insmod for partition modules failure in embedded config.
>
> I still tend to think the following patch matches current behavior - we
> do not abort processing embedded config on error either. Alternative
> would be to check and abort processing as soon as error is encountered.
>
>
>
> From: Andrei Borzenkov <arvidj...@gmail.com>
> Subject: [PATCH] kernel: reset grub_errno before loading normal
>
> If last command in embedded config set grub_errno, loading of
> normal fails. As we do not really check for any errors during
> processing of embedded config and cannot handle error that happened
> in the middle of it, just ignore error and hope for best.
>
> ---
>  grub-core/kern/main.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c
> index 9cad0c4..2e46e2c 100644
> --- a/grub-core/kern/main.c
> +++ b/grub-core/kern/main.c
> @@ -304,6 +304,8 @@ grub_main (void)
>
>    if (load_config)
>      grub_parser_execute (load_config);
> +  /* Reset error, otherwise loading of normal fails */
> +  grub_errno = GRUB_ERR_NONE;
>
>    grub_boot_time ("After execution of embedded config. Attempt to go to
> normal mode");
>
> --
> tg: (018f79d..) u/reset-error-before-normal (depends on: master)
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to