Bug#1135731: does not boot on raspberry pi 4 (grub_memcpy not found)
Pascal Hambourg
pascal at plouf.fr.eu.org
Wed May 6 15:35:04 BST 2026
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.
More information about the Pkg-grub-devel
mailing list