
On 14 February 2017 at 15:50, Michal Suchanek hramrach@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