[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] unix/platform: Initialize variable to fix grub-install on UE
From: |
Daniel Kiper |
Subject: |
Re: [PATCH] unix/platform: Initialize variable to fix grub-install on UEFI system |
Date: |
Wed, 31 Oct 2018 13:31:50 +0100 |
User-agent: |
Mutt/1.3.28i |
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 <address@hidden>
Reviewed-by: Daniel Kiper <address@hidden>
Daniel