On Tue, Oct 23, 2018 at 03:00:13PM +0200, Paul Menzel wrote: > Date: Tue, 23 Oct 2018 14:37:57 +0200 > > On a UEFI system, were no boot entry *grub* is present, currently, > `grub-install` fails with an error. > > $ efibootmgr > BootCurrent: 0000 > Timeout: 0 seconds > BootOrder: 0001,0006,0003,0004,0005 > Boot0001 Diskette Drive > Boot0003* USB Storage Device > Boot0004* CD/DVD/CD-RW Drive > Boot0005 Onboard NIC > Boot0006* WDC WD2500AAKX-75U6AA0 > $ sudo grub-install /dev/sda > Installing for x86_64-efi platform. > grub-install: error: efibootmgr failed to register the boot entry: > Unknown error 22020. > > The error code is always different, and the error message (incorrectly) > points to efibootmgr. > > But, the error is in GRUB???s function > `grub_install_remove_efi_entries_by_distributor()`, where the variable > `rc` for the return value, is uninitialized and never set, when no boot > entry for the distributor is found. > > The content of that uninitialized variable is then returned as the error > code of efibootmgr. > > Set the variable to 0, so that success is returned, when no entry needs > to be deleted. > > Tested on Dell OptiPlex 7010 with firmware A28. > > $ sudo ./grub-install /dev/sda > Installing for x86_64-efi platform. > Installation finished. No error reported. > > [1]: https://github.com/rhboot/efibootmgr/issues/100 > > Signed-off-by: Paul Menzel <pmen...@molgen.mpg.de>
Reviewed-by: Daniel Kiper <daniel.ki...@oracle.com> Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel