Hi,
I verified that RPI4 can boot Ubuntu and LEDGE RP with UEFI + U-Boot. Two flows have been checked: direct (kernel+initrd in BootXXX variable leveraging LOAD_FILE2 mechanism) and through grub.
Note: Grub (current head) behaves properly but does not display anything on serial console because lack of U-Boot (2021.07-rc2) support for:
GRUB_EFI_SERIAL_IO_GUID \
{ 0xbb25cf6f, 0xf1d4, 0x11d2, \
{ 0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0xfd } \
}
/* details: grub-core/term/efi/serial.c, grub_efiserial_init() -> grub_efi_locate_handle (GRUB_EFI_BY_PROTOCOL, &serial_io_guid,...) returns NULL */
So I think we need to add this protocol and some others to make the UEFI text environment fully supported for grub.
Cheers
FF
PS: It would be nice to have an efidebug command to actually trace all boot services calls to "get_protocol" and either trace all requests or just failed requests.