On Sat, Mar 23, 2019 at 07:01:44PM +1100, Jamie wrote:
> Hi!
> 
> Quite new to OpenBSD on ARM64 and, while I have a Gateworks newport
> GW6304 running Linux, I'm keen to get OpenBSD running on it and was
> hoping for a little nudge.
> 
> Following INSTALL.arm64, I wrote the miniroot64.fs to a microSD card
> then added the vendor (cavium) dtb to the first partition but obviously
> it didn't boot (which isn't that surprising I guess). I then boot the
> working "linux" firmware to u-boot and tried a variety of manual loads
> (following the OcteonTX SDK) of the binaries from the vfat partition
> but no joy.
> 
> Using the approach that built the Linux bootable image I then attempted
> to adapt it for OpenBSD to create a 'bsd.its' for u-boot (just to see
> if I could get the kernel loading) via:
> 
> mkits.sh -o bsd.its -k bsd.gz -C gzip -v 'openbsd64'
> mkimage -f bsd.its bsd.itb
> <stdout>: Warning (unit_address_vs_reg): /images/kernel@1: node has a
> unit name, but no reg property
> <stdout>: Warning (unit_address_vs_reg): /images/kernel@1/hash@1: node
> has a unit name, but no reg property
> <stdout>: Warning (unit_address_vs_reg): /images/kernel@1/hash@2: node
> has a unit name, but no reg property
> <stdout>: Warning (unit_address_vs_reg): /configurations/config@1: node
> has a unit name, but no reg property
> FIT description: ARM64 FIT (Flattened Image Tree)
> Created:         Sat Mar 23 18:03:35 2019
>  Image 0 (kernel@1)
>   Description:  ARM64 openbsd64
>   Created:      Sat Mar 23 18:03:35 2019
>   Type:         Kernel Image
>   Compression:  gzip compressed
>   Data Size:    4147385 Bytes = 4050.18 KiB = 3.96 MiB
>   Architecture: AArch64
>   OS:           OpenBSD
>   Load Address: 0x20080000
>   Entry Point:  0x20080000
>   Hash algo:    crc32
>   Hash value:   630cb6b4
>   Hash algo:    sha1
>   Hash value:   29b3f3d20aad3d8829faf13a81edcfdb0fa357ac
>  Default Configuration: 'config@1'
>  Configuration 0 (config@1)
>   Description:  Boot OpenBSD Kernel
>   Kernel:       kernel@1
>   FDT:          fdt@1
> 
> I then try to simply boot that kernel via:
> 
> GW6304-D2>fatload mmc 1:1 $loadaddr bsd.itb
> GW6304-D2>bootm $loadaddr
> ## Loading kernel from FIT Image at 02000000 ...
>    Using 'config@1' configuration
>    Verifying Hash Integrity ... OK
>    Trying 'kernel@1' kernel subimage
>      Description:  ARM64 openbsd64
>      Created:      2019-03-23   6:17:14 UTC
>      Type:         Kernel Image
>      Compression:  gzip compressed
>      Data Start:   0x020000d4
>      Data Size:    4147385 Bytes = 4 MiB
>      Architecture: AArch64
>      OS:           Unknown OS
>      Load Address: 0x20080000
>      Entry Point:  0x20080000
>      Hash algo:    crc32
>      Hash value:   630cb6b4
>      Hash algo:    sha1
>      Hash value:   29b3f3d20aad3d8829faf13a81edcfdb0fa357ac
>    Verifying Hash Integrity ... crc32+ sha1+ OK
> No Unknown OS AArch64 Kernel Image Image
> ERROR: can't get kernel image!
> 
> [ I'm wondering why I'm getting 'Unknown OS' when it was written as
> OpenBSD - perhaps the gateworks u-boot was built without support for
> non-Linux OSes (https://github.com/Gateworks/manifest-newport) ] 
> 
> Anyway, any thoughts on this approach or should I be trying something
> else like a TFTP boot?

You can't jump directly to a kernel like that.  When U-Boot is built
with distro boot support it would automatically load bootaa64.efi which
is on the fat partition in the miniroot.  Otherwise you need to use
the U-Boot 'bootefi' command assuming the vendor U-Boot fork you are
using has it.

Reply via email to