Bug#925309: Wrong prefix directory hardcoded in signed GRUB image

Pascal Hambourg pascal at plouf.fr.eu.org
Fri Mar 22 19:47:37 GMT 2019


Package: grub-efi-amd64-signed
Version: 1+2.02+dfsg1+13

 From grub2 changelog :
   - Unconditionally create grub.cfg on our EFI boot partition in Secure
     Boot mode; GRUB always needs some configuration in this case to find
     /boot/grub, since we can't modify the signed image at install time

grub-install installs this initial grub.cfg in the same location as the 
signed image, i.e.
- /EFI/BOOT if the option --removable is present
- the directory derived from the --bootloader-id option if present
- the directory derived from $GRUB_DISTRIBUTOR defined in /etc/default/grub

The default value of $GRUB_DISTRIBUTOR is "Debian", so the default 
install location is (EFI_PARTITION)/EFI/debian.

However when the signed image is installed in a different location, it 
still looks for grub.cfg in (EFI_PARTITION)/EFI/debian instead of 
$cmdpath and spawns the grub> shell unless grub.cfg is present in this 
location. In the shell, $prefix is set to (EFI_PARTITION)/EFI/debian.

Shouldn't the prefix be initialized with $cmdpath instead of the 
hardcoded path /EFI/debian ?



More information about the Pkg-grub-devel mailing list