[U-Boot] ARMv7 EFI loader broken?

Michal Suchanek hramrach at gmail.com
Thu Feb 16 22:38:46 UTC 2017


On 14 February 2017 at 15:50, Michal Suchanek <hramrach at gmail.com> wrote:
> Hello,
>
> I tired to build u-boot master for Snow board, install grub, chainload grub.
>
> In short, it fails.
>
> First, u-boot searches for EFI loader in ${distro_bootpart} which
> defaults to unset and is interpreted as 1. grub wants the partition it
> installs to to have the EFI System GUID. So to boot you need to set
> the first partition to EFI System GUID and install grub there.
> Further, grub installs as EFI/debian/grubarm.efi while u-boot searches
> for /efi/boot/bootarm.efi. This is not even a  variable - it's
> hardcoded in several places in the default efi boot script. Given that
> saving environment does not work on Snow changing the environment
> requires rebuild either way. Or change what is on the disk.
>
> Finally, when grub loads I get this:
>
> snow # setenv distro_bootpart 4
> snow # boot
> switch to partitions #0, OK
> mmc1 is current device
> Scanning mmc 1:4...
> Found EFI removebla media binary efi/boot/bootarm.efi
> reading efi/boot/bootarm.efi
> 88576 bytes read in 42 ms (2 MiB/s)
> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
> ## Starting EFI application at 42000000 ...
> Scanning disks on usb...
> Scanning disks on mmc...
> MMC Device 2 not found
> MMC Device 3 not found
> Found 6 disks
> ←[?25h←[?25l←[?25l
>
> And that is all.
>
> No reaction to keypresses.
>
> Any idea what is wrong in this case? It seems like grub starts and
> then fails to do whatever it is supposed to do. Is there some special
> support in grub needed? I would expect that would be against the point
> of having an EFI emulation, right?

OK, so I tried to use EFI/opensuse/grubarm.efi instead of
EFI/debian/grubarm.efi and now I see that garbage as well as grub
welcome header. So I guess the Debian grub uses defaults even less
compatible with the u-boot EFI emulation than openSUSE.

Since the Snow board does not have a known serial port and the EFI
terminal emulation on efifb is not working with grub I will try to
stick to the known working syslinux emulation on Snow.

Best regards

Michal


More information about the U-Boot mailing list