On Sun, 19 Apr 2020 at 13:41, Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > Hi Ard, > > I got a bug report by email that "grub-install" was throwing errors > on 32 bit UEFI (64 bit kernel, mixed mode) systems starting with 5.6 . > After that I noticed that the Fedora installer also threw an error about > it being unable to setup the bootloader (which I could luckily skip), this > was also a 32 bit UEFI mixed-mode system. > > So I've been running some tests with efibootmgr from the shell. Adding > new entries works, but removing an entry involves unlinking the EFI var > for the old which fails, here is the relevant part from a strace run: > > unlink("/sys/firmware/efi/efivars/Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c") = -1 EINVAL (Invalid argument) > > With kernel 5.5 the same unlink succeeds, I guess this is also the > cause for the grub-install and Fedora 32 installer errors. At least > the Fedora 32 install error was seen on a system which already had > a "Fedora" efibootmgr entry, so likely the installer tried to remove > the old entry first and that caused the failure. > > I've also tried removing efibootmgr entires on a 64 bit UEFI system running > 5.6.4 and that works fine. On 32 bit UEFI mixed-mode systems the problem > persists with 5.7-rc1. > > Ard, any idea where to start with pinpointing the cause of this > regression ? > Can you start by trying this patch please? https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/commit/?h=urgent&id=9461aa3b44ac21668100067939d24a6ffa810eae It is already in Linus's tree, but not in -rc1