On Sat, 2019-03-23 at 15:26 +0100, Mark Kettenis wrote: > > From: Jamie <ja...@hush.com> > > Date: Sat, 23 Mar 2019 22:04:44 +1100 > > > > [snipped] > > > > Thanks both. As you may have guessed the current U-Boot on there > > doesn't support bootefi which is why I was looking at the other > > 'options'. Naively, I'll go look and see if I can rebuild U-boot > > with that command! > > Might be a simple matter of reverting: > > > https://github.com/Gateworks/uboot-newport/commit/7de21cea0a97a0d7931adafe69e91bd08b98f2 > > Why they didn't revert that after Andreas Graf's comment escapes me. > > You might be better off trying to using the v2018.11-newport-rc1 > branch instead of the v2017.09-rc1-newport branch, as the the > original U-Boot v2017.09 has a subtle bug that sometimes prevents > loading the OpenBSD kernel from the OpenBSD EFI bootloader. I > believe that EFI_LOADER support is enabled by default on the > x2018.11-newport-rc1 branch, so no further patching would be > necessary.
I did have a quick try at building the 2018.11 variant however it failed to build at: make CROSS_COMPILE= -C u-boot env make[2]: Entering directory '/home/tango/research/cavium/octeontx/test1/u-boot' CHK include/config/uboot.release CHK include/generated/version_autogenerated.h UPD include/generated/version_autogenerated.h CHK include/generated/timestamp_autogenerated.h UPD include/generated/timestamp_autogenerated.h CC lib/asm-offsets.s cc1: warning: unknown register name: x18 cc1: error: bad value (‘armv8-a’) for ‘-march=’ switch I was able to successfully build and boot the older version with, essentially, that patch reverted and that did provide a 'bootefi' command however wonder if the build isn't quite right yet. GW6304-D2> load mmc 1:1 $fdtcontroladdr gw6304-linux.dtb reading gw6304-linux.dtb FAT: Misaligned buffer address (000000007aec17a0) 18201 bytes read in 16 ms (1.1 MiB/s) GW6304-D2> load mmc 1:1 $kernel_addr_r efi/boot/bootaa64.efi reading efi/boot/bootaa64.efi 116963 bytes read in 13 ms (8.6 MiB/s) GW6304-D2> GW6304-D2> bootefi $kernel_addr_r $fdtcontroladdr ## Starting EFI application at 02000000 ... ERROR: FDT BDK node not found ERROR: board-specific fdt fixup failed: FDT_ERR_NOTFOUND - must RESET the board to recover. ERROR: Failed to process device tree ## Application terminated, r = 9223372036854775786 I did try booting without the DTB just to see how far it got but I guess, at least, it got to the boot> prompt. GW6304-D2> load mmc 1:1 $kernel_addr_r efi/boot/bootaa64.efi GW6304-D2> bootefi $kernel_addr_r ## Starting EFI application at 02000000 ... WARNING: Invalid device tree, expect boot to fail Scanning disk mmc@1,4.blk... Scanning disk mmc@1,4.blk... Found 2 disks >> OpenBSD/arm64 BOOTAA64 0.13 no OpenBSD MBR partition open(sd0a:/etc/boot.conf): Invalid argument boot> no OpenBSD MBR partition cannot open sd0a:/etc/random.seed: Invalid argument booting sd0a:/bsd: no OpenBSD MBR partition open sd0a:/bsd: Invalid argument failed(22). will try /bsd boot> I'll have a think and look at it again later, Jamie.