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