On 06/05/2026 at 14:06, Marc Haber wrote:
On Tue, May 05, 2026 at 01:32:17PM +0200, Pascal Hambourg wrote:
If U-Boot loads GRUB from the EFI partition removable media path, it
means the copy of GRUB core image in /boot/efi/EFI/BOOT/ was not
updated after upgrading to the new GRUB version.
That is the case.
$ sudo ls -lR /boot/efi/EFI/
/boot/efi/EFI/:
total 8
drwxr-xr-x 2 root root 4096 May 5 2026 BOOT
drwxr-xr-x 2 root root 4096 May 5 2026 debian
/boot/efi/EFI/BOOT:
total 148
-rwxr-xr-x 1 root root 151552 May 5 2026 BOOTAA64.EFI
This is the "removable media" (fallback) path.
According to the size, it can be a custom (non monolithic) GRUB core
image. According to the date, it was updated yesterday. However, in my
experience `ls -l` shows the year only if it does not match the current
year. What is the current system date ?
/boot/efi/EFI/debian:
total 5088
-rwxr-xr-x 1 root root 110 Mar 23 13:37 BOOTAA64.CSV
-rwxr-xr-x 1 root root 124920 Mar 23 13:37 fbaa64.efi
-rwxr-xr-x 1 root root 121 Mar 23 13:37 grub.cfg
-rwxr-xr-x 1 root root 3126720 Mar 23 13:37 grubaa64.efi
-rwxr-xr-x 1 root root 953040 Mar 23 13:37 mmaa64.efi
-rwxr-xr-x 1 root root 987432 Mar 23 13:37 shimaa64.efi
This is the default location for Debian EFI boot, but it cannot be used
by U-Boot EFI services without EFI variables.
The files names and sizes indicate that a signed monolithic GRUB image
was used with shim, for secure boot. Are shim-signed and
grub-efi-arm64-signed installed ?
The dates are older than in the fallback path. I expected the opposite.
By default, `grub-install` would update files in /boot/efi/EFI/debian
and not in /boot/efi/EFI/BOOT. How is GRUB_DISTRIBUTOR defined in
/etc/default/grub or /etc/default/grub.d/*.cfg ?
None of those files get updated when upgrading to grub 2.14 and doing
grub-install.
This is weird. Does `grub-install` exit with success ? Can you run it in
verbose mode (--verbose), record the output and check what it really
installs where ?
It should be updated automatically if grub2/force_efi_extra_removable
is set to 'false' in debconf. You can check with
debconf-show grub-efi-arm64
$ debconf-show grub-efi-arm64
grub2/force_efi_extra_removable: false
So I would expect that /boot/efi/EFI/debian is updated and
/boot/efi/EFI/BOOT is not.
grub2/update_nvram: true
Setting this parameter to 'false' would prevent `grub-install` from
trying and failing to update EFI boot variables. Anyway in my experience
this failure does not prevent updating the files in the ESP.
btw, this is a debian live arm64 image that Roland Clobus helped me
build on Mini Debconf Hamburg.
Do you mean you installed from a live image ? Or you are using a live
image (with persistence ?)
In your previous post I noticed that you used the same partition for
firmware and efi. I do not think it matters, AFAIK grub-install uses
what's mounted on /boot/efi and should not care if it is also mounted
elsewhere.