Bug#1016737: Loop in POST when using --removable option in grub-install

Steve McIntyre steve at einval.com
Sun Jan 15 22:57:41 GMT 2023


Hey folks,

On Sat, Aug 06, 2022 at 10:30:10PM +0900, Sugu wrote:
>Package: grub-efi-amd64
>Version: 2.04-20
>Severity: normal
>X-Debbugs-Cc: none
>
>Dear Maintainer,
>
>*** Reporter, please consider answering these questions, where appropriate
>***
>
>I run grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable
>and reboot, it repeats POST forever and loops.
>This bug does not occur on Arch Linux, so it appears to be Debian-specific.
>
>*** End of the template - remove these template lines ***

...

On Sat, Dec 24, 2022 at 01:53:48PM +0100, Pascal Hambourg wrote:
>Hello,
>
>I observe the same behaviour on my laptop.
>My workaround is to remove EFI/BOOT/fbx64.efi from the EFI partition.
>IMO --removable should not install this file.

On Mon, Dec 26, 2022 at 03:28:10PM +0100, Pascal Hambourg wrote:
>I wrote:
>> 
>> I observe the same behaviour on my laptop.
>
>And on another x86 desktop PC too. When loaded from the removable media path
>(/EFI/BOOT/BOOTX64.EFI), shim loads fbx64.efi which reboots the system if it
>did not find any BOOTX64.CSV file in /EFI/BOOT, as expected on removable
>media.
>
>Here is the console output after setting FALLBACK_VERBOSE with
>
> mokutil --set-fallback-verbosity true
>
>efi_main: System BootOrder not found.  Initializing defaults.
>efi_main: tpm not present, starting the first image
>Verbose enabled, sleeping for 500000 mseconds... Press the Pause key now to
>hold for longer.
>Reset System
>Verbose enabled, sleeping for 500000 mseconds... Press the Pause key now to
>hold for longer.
>
>> My workaround is to remove EFI/BOOT/fbx64.efi from the EFI partition.
>> IMO --removable should not install this file.
>
>This is confirmed in the shim source package.
>
>- In README.fallback:
>When you boot removable media, it'll be in \EFI\BOOT , but fallback.efi
>won't be there, so it goes ahead and boots the normal bootloader
>(grubx64.efi).
>
>- In shim.c:
>	/* Do not print the error here - this is an acceptable case
>	 * for removable media, where we genuinely don't want
>	 * fallback.efi to exist.
>
>Also fbx64.efi is not present in the EFI partition of Debian installation
>images.

OK, I can see what's happening here. The logic in grub-install is
*very* convoluted here, with lots of different patches applied. It's
quite difficult to follow. :-(

Yes, you're correct - fallback should *not* be installed here if
you're specifying --removable. In fact, on a Debian system we should
probably not be installing fallback unless we're doing the
--force-removable thing.

Testing stuff now...

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
You lock the door
And throw away the key
There's someone in my head but it's not me 



More information about the Pkg-grub-devel mailing list