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.




Reply via email to