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