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