Geniatech XPI-3566-ZERO SBC impressions


While the Maker-Revolution made possible to have cheap and reasonably powerful general computing devices, one thing is unchanged: the unpaved roads are still unpaved.

As I was looking for an SBC lately my preferences were the following:

I found the Geniatech’s XPI-3566-Zero, which is a Raspberry PI Zero 2W alternative built around a Rockchip SOC. Lets check the hardware details:


CPU Quad-core ARM Cortex-A55 CPU up to 1.8GHz
GPU ARM G52 2EE GPU;Supports OpenGL ES, 1.1/2.0/3.2. OpenCL 2.0. Vulkan 1.1
RAM 512MB LPDDR4(up to 8GB optional)
Storage 8GB eMMC (up to 128GB Optional)
WiFi AMPAK AP6256 SDIO Wi-Fi 2.4 and 5 Ghz
Interface 1x Mini HDMI Out, 1x Type-C for USB 2.0 OTG, 1x Type-C for USB Host with 5VDC input, 1x MIPI-CSI, 1x Standard 40-pin GPIO header Can be expanded to UART, SPI, I2C ,PWM function
Power DC 5V / 2A
Size 65*30mm

Both the RK3566 SOC and the AMPAK wifi module became supported recently on OpenBSD, so this seems to be a good pick, with only one caveat: there is no on-board TF/SD card slot and sadly almost every BSD related guide relies on SD-Card boot. We will see if we can find a workaround for this..

First impressions

The board is small, and boots into a Debian 10 install real quick. I did some basic test, wlan and USB works ok.


I have read the easiest way to get graphical output over HDMI using OpenBSD on ARM board is to boot via UEFI. Tianocore EDK2 is an open-source UEFI implementation. I have found the Quartz64 UEFI project which provides EDK2 builds for RK3566 based boards, but the XPI-3566-ZERO is not yet supported. I have analyzed the hardware of the supported boards and found the ROC-3566-PC to be pretty similar to my board. So as first step i decided to try that image, and if it doesn’t work, i can always revert it using the recovery procedures described in the official documentation. So i flashed this image (it needs to be extracted first) using this method

Then the board did not boot anymore. Only the orange power LED lights up, no output on HDMI or over UART. Not even the small green LED didn’t light up anymore. :(

I have tried to use the recovery methods described in the Debian upgrade guide but i was unable to get the board recognized (neither in LOADER nor in MASK MODE).

I have seen other boards have test-points which one can short to enforce mask-mode, but the official documents doesn’t provides any info regarding this and the board have no mask-mode button or any marking or hints on the silkscreen prints. :(

So i had to contact the manufacturer and they provided me the following picture:

Test points to short for recovery

Short the marked points using a metal object (i use a short wire) and connect the SBC via USB-C (the correct port is the one far away from the HDMI port), the board will be enumerated as “Rockchip USB download gadget” Vid=0x2207,Pid=0x350A, it means the board is in mask mode and the flash uploader software can recognize and communicate with it. Reinstalling the original firmware was a breeze, but we are at step 1 again: How do we install OpenBSD on the board???


While the 40 pin GPIO have UART pins, i wasn’t able to get any useful output using them in the bootloader: the manufacturer mentioned the UART debug log is “temporarily” disabled. I have seen on some boards the UART is used for the Bluetooth serial support and to eliminate the interference it needs to be disabled in U-Boot. Maybe this is the reason why it is disabled on my board, but i can’t confirm yet. We will see, if we can re-enable it later on. The manufacturer later stated they will provide a software update to enable the UART ports in the bootloader.

By the way, the board uses 1.500.000 baud speed, 8N1 settings in default.

Because the mentioned reasons i can’t provide yet any U-Boot log and also can’t boot OpenBSD using U-Boot, so lets attack the problem from a different direction.

There is a project called rkdeveloptool, they trying to develop an open source alternative for the propertiary update_tool. You can grab the sources and patch it with the FreeBSD patches, it runs even on OpenBSD. Let’s dive in:

~/K/rkdeveloptool> ./rkdeveloptool --version
rkdeveloptool ver 1.3
~/K/rkdeveloptool [1]> doas ./rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x350a,LocationID=4	Loader
~/K/rkdeveloptool> doas ./rkdeveloptool ppt
**********Partition Info(GPT)**********
NO  LBA       Name
00  00004000  uboot
01  00006000  misc
02  00008000  boot
03  00028000  recovery
04  00068000  backup
05  00078000  rootfs
06  00C78000  oem
07  00CB8000  userdata

Ok, we got some partitions, i have dumped and binwalked them. I was looking mainly for the official U-Boot version, for the wifi firmware and for any additional hints.

Using the stings command on the dumped partitions i found the U-Boot banner:

U-Boot 2017.09

Ok, this is pretty old, we will see if we can update it to a more recent version later on.

I have also found the dtb files embedded in the U-Boot and also extracted it from Linux. The two dtb differs, i suspect either U-Boot or the Linux kernel processing / patching the supplied dtb during the boot.

From U-Boot: DTB DTS

From Linux: DTB DTS

I just received the official unprocessed DTB files and the electrical schematic of the SBC from Geniatech, you can find them here: DTBs and the schematics.

Software hacking

The UART ports arent disabled in the DTB, as far as i can see. As the manufacturer said they can fix UART in sw, then maybe it is just simply disabled in U-Boot and i can somehow re-enable it using theofficial SDK and just replace it somehow. So i dived int othe SDK an dwhile i was able to make some small changes in U-Boot and compile it, i was unable to find and re-enable the UART port usage. The config options i have found related to this topic seems to be undeclared:


Grepping the whole source tree doesn’t gives any real hint. No idea, how the UART is disabled. So i can’t build an alternative U-Boot and replace the original one.

Maybe we can adopt EDK2 to our board, we got the DTB, i have forked the quartz_64 source tree and started to adopt it for my board. Currently most files are vanilla copies of the ROC-3566-PC files, but i have managed to declare the new target, replace the DTB file and it builds just fine. however it still doesn’t boots.

I have read somewhere those boards needs significant amount time to boot into EDK2, so i spent a bit time today with them, but they just simply stays silent no output at all. Probably something wrong. I have wrote an email regardingthis to Geniatech and i hope they will provide a feedback promptly.

Suspicious things

As i previously explained, i managed to restore the original firmware using the provided Windows based RkDevTool. But as i don’t really own any device running Windows, i was happy to learn there is a linux based propertiary flasher tool (upgrade_tool) and also an open source version (rkdeveloptool). For all my experiments i have used both the propertiary and the open source flasher tool. They are command line application and for both the user have to manually upload a bootrom code to be able to flash the device. In the begining i have used the rk356x_spl_loader_ddr1056_v1.06.110.bin bootrom, as i found this is accepted by the board, but later on i found the /u-boot/bin/rk3568_loader_v1.05.106.bin file in the SDK and repeated my experiments with that aswell but it had no impact on the outcome.

Device is recognized by the operating system:

# dmesg
[ 6973.387625] usb 1-2: new high-speed USB device number 44 using xhci_hcd
[ 6973.535893] usb 1-2: New USB device found, idVendor=2207, idProduct=350a, bcdDevice= 1.00
[ 6973.535908] usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0

And recognized by the flasher tool aswell. The device is in maskrom mode:

# ./rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x350a,LocationID=102	Maskrom

We upload the bootrom…

# ./rkdeveloptool db rk356x_spl_loader_ddr1056_v1.06.110.bin 
Downloading bootloader succeeded.

And also update it…

# ./rkdeveloptool ul rk356x_spl_loader_ddr1056_v1.06.110.bin
Upgrading loader...

The device is still in maskrom mode

# ./rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x350a,LocationID=102	Maskrom

The tests are OK…

# ./rkdeveloptool td
Test Device OK.

Now we erase the content of the flash…

# ./rkdeveloptool ef
Erasing flash complete.

And flash the official, vanilla image…

# ./rkdeveloptool wl 0 './rk3566-xpz-debian_RKS221221-base_hwV1.0_20230926161435/rockdev/update.img' 
Write LBA from file (100%)

Let’s reset the device…

# ./rkdeveloptool rd
Reset Device OK.

And it is still in Maskrom mode after the reboot, which is not good:

# ./rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x350a,LocationID=102	Maskrom

The parttition table is borked for some reason:

# ./rkdeveloptool ppt
Read GPT failed!
Read parameter failed!
Not found any partition table!

This is the flasher tool I use:

# ./rkdeveloptool --version
rkdeveloptool ver 1.32

On this operating system:

# uname -a
Linux debian 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64 GNU/Linux

As you can see, i got the eMMC flashed without any error, but there is something clearly wrong with the partition table, and the device can’t boot, so it goes automatically into maskrom mode. What am i doing wrong here? The same image flashed via the windows RkDevTool works just fine. This is puzzling…

I suspect, maybe the LOADER is wrong, but i am not sure yet. In any case i need to find a reliable way to flash the device first, before i continue my journey.

I clearly can’t flash the board properly from linux or from OpenBSD. I plan to do a full linux image build later, but currently the only way to properly flash the board is using Windows, which is PITA as idon’t have any windows install here. Also the windows tool doesn’t lets me to flash the EDK2 image on the board. So far it allowed me to flash only the official vanilla firmware, nothing else. I assume the images have some kind of taging and either the EDK2 firmware doesn’t have any, or it is not accepted by the flasher tool. And as long i can’t flash the original firmware properly, i can’t learn anything from flashing the EDK2, because probably thats gets flashed improperly aswell…

Flashing using linux

I have managed to extract the official update.img (rk3566-xpz-debian_RKS221221-base_hwV1.0_20230926161435.tar.gz) using the windows flasher tool and now i have the correct loader! And i have also managed to properly flash the board using linux:

Check if the board is in maskrom mode:

root@debian ~> rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x350a,LocationID=101	Maskrom

Upload the bootcode into the device from the extracted update.img:

root@debian ~> rkdeveloptool db boot.bin
Downloading bootloader succeeded

Check the partition table:

root@debian ~> rkdeveloptool ppt
Not found any partition table!

Create the partitions using the extracted parameter file:

root@debian ~ [1]> rkdeveloptool gpt parameter.txt 
Writing gpt succeeded.

Check the partition table again:

root@debian ~> rkdeveloptool ppt
**********Partition Info(GPT)**********
NO  LBA       Name                
00  00004000  uboot
01  00006000  misc
02  00008000  boot
03  00028000  recovery
04  00068000  backup
05  00078000  rootfs
06  00C78000  oem
07  00CB8000  userdata

Now flash the partitions one-by-one using the extracted images:

root@debian ~> rkdeveloptool  wlx uboot uboot.img
Write LBA from file (100%)
root@debian ~> rkdeveloptool  wlx misc misc.img
Write LBA from file (100%)
root@debian ~> rkdeveloptool  wlx boot boot.img
Write LBA from file (100%)
root@debian ~> rkdeveloptool  wlx recovery recovery.img
Write LBA from file (100%)
root@debian ~> rkdeveloptool  wlx rootfs rootfs.img
Write LBA from file (100%)
root@debian ~> rkdeveloptool  wlx oem oem.img
Write LBA from file (100%)
root@debian ~> rkdeveloptool  wlx userdata userdata.img
Write LBA from file (100%)

It seems upgrading the bootcode is necessary, so lets do that aswell:

root@debian ~> rkdeveloptool  ul boot.bin
Upgrading loader succeeded.

And reboot the device:

root@debian ~> rkdeveloptool  rd
Reset Device OK.

If you have a serial terminal attached to the UART3 pins (see the silkscreen markings on the rear side of the PCB), you can watch the kernel messages scrolling by with 1500000 baud, 8N1…

We still haven’t managed to boot EDK2, but this is a good start.


I have spent countless hours to get it working but i was unable to get any UART log from U-Boot with the original firmware and neither with my own built U-Boot. I have contacted Geniatech and they confirmed a fix is in the works. A new firmware was released on 2023-11-14, i have downloaded the firmware, unpacked with the Windows flasher tool, compared the bootrom/miniloader, confirmed it is different. Then I have used it to boot the device and lo and behold: now i can interact with U-Boot! They haven’t gave any info what the issue was, but i suspect it was in the miniloader, as now my own built uboot works aswell. So it can’t be an U-Boot or a DTB issue. Here is the new miniloader in case you need it.

So, i tried to boot OpenBSD on it:

I have downloaded the arm64 miniroot74.img and loop-mounted it using Linux. Mounted the EFI partition and inserted my own DTB file, while removed all the unnecessary ones. Then I have dumped both the EFI and the OpenBSD data partition into a separate image-file (dd if=/dev/loop0p1 of=./EFI.img and dd if=/dev/loop0p4 of=./BSD.img ).

Then i manually created a parameter.txt file, which describes the partition layout. I have created 4 partitions: UBOOT, EFI, ROOT, USERDATA and wrote it into the MMC using rkdeveloptool.

MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: 0xffffffff
PWR_HLD: 0,0,A,0,1
CMDLINE: mtdparts=:0x00002000@0x00004000(uboot),0x00040000@0x00028000(EFI),0x00c00000@0x00078000(rootfs),-@0x00cb8000(userdata:grow)

Then i have flashed the images to the correct partition using rkdeveloptool, so i have flashed u-boot to UBOOT, the EFI.img to the EFI partition, the BSD.img to the ROOT partition and i have kept the USERDATA empty for now.

I have booted the board and it went straight into the U-Boot prompt where i have loaded the DTB and the EFI loader and started it. It jumped into the OpenBSD bootloader just fine, but then I got stuck as the bootloader doesn’t want to boot the ROOT partition, it complains the partition is bad. See the logs below.

I have also tried to boot the other partitions, but the result is the same.


=> mmc part

Partition Map for MMC device 0  --   Partition Type: EFI

Part    Start LBA       End LBA         Name
        Type GUID
        Partition GUID
  1     0x00004000      0x00005fff      "uboot"
        attrs:  0x0000000000000000
        type:   8dcd1602-5214-43f9-ffef-c49a4ee450b7
        guid:   5a30833f-8c43-47b1-a41d-84d40883d0c6
  2     0x00028000      0x00067fff      "EFI"
        attrs:  0x0000000000000000
        type:   1124e418-9008-41f8-9e3d-8d872216c8a1
        guid:   ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
  3     0x00078000      0x00c77fff      "rootfs"
        attrs:  0x0000000000000000
        type:   fbd4486a-e42c-448d-d4e9-7f5c324a7843
        guid:   824cc7a0-36a8-11e3-890a-952519ad3f61
  4     0x00cb8000      0x00e8ffde      "userdata"
        attrs:  0x0000000000000000
        type:   bbaf4f47-230d-45b6-feae-e4b35f300b00
        guid:   824cc7a0-36a8-11e3-890a-952519ad3f62
=> load mmc 0:2 ${fdt_addr_r} dtb_from_linux.dtb
reading dtb_from_linux.dtb
110592 bytes read in 11 ms (9.6 MiB/s)
=> load mmc 0:2 ${kernel_addr_r} efi/boot/bootaa64.efi
reading efi/boot/bootaa64.efi
219050 bytes read in 37 ms (5.6 MiB/s)
=> bootefi ${kernel_addr_r} ${fdt_addr_r}
## Starting EFI application at 00a80000 ...


disks: sd0* sd1 sd2 sd3 sd4
>> OpenBSD/arm64 BOOTAA64 1.18
boot> set device sd3
boot> boot
cannot open sd3:/etc/random.seed: bad partition
booting sd3:/bsd: open sd3:/bsd: bad partition
 failed(99). will try /bsd

I have expected this to work, and i don’t see see what am i doing wrong. I have flashed the OpenBSD partition, but it seems the rkdeveloptool randomly picks a type-ID, and it lets to define only the partition UUID, so the partition-type is clearly wrong.

So i am looking for ideas now and try to understand the issues I am facing…

Btw: i have also tried to boot into EDK2 with the new bootrom, but no dice, yet.


The factory U-Boot can’t boot via EFI, so we need to enable it first, so edit the rk356x_xpi_sdk-202305121258/u-boot/configs/rk3568_defconfig file and add :


Probably not all of them is actually needed…

Then build a new u-boot using the following command in the rk356x_xpi_sdk-202305121258 folder: uboot

It will create a new uboot.img in the rk356x_xpi_sdk-202305121258/u-boot folder.

We have to update the U-Boot on the board using the following commands:

# ./rkdeveloptool db 'boot.bin'
Downloading bootloader succeeded.
# ./rkdeveloptool wlx uboot '/rk356x_xpi_sdk-202305121258/u-boot/uboot.img'
Write LBA from file (100%)
# ./rkdeveloptool ul 'boot.bin'
Upgrading loader succeeded.

FYI: boot.bin is the bootrom we covered here earlier.

Then prepare 2 USB thumbdrive + a usb-c hub:

Attach both drive using the hub and power up the board. Press Ctrl-C to interrupt U-Boot, then:

usb start
load usb 1:1 ${fdt_addr_r} rk3568-evb.dtb
load usb 1:1 ${kernel_addr_r} efi/boot/bootaa64.efi
bootefi ${kernel_addr_r} ${fdt_addr_r}

Keep in mind your usb device or partition number can be different!

This will drop you into the OpenBSD EFI bootloader, here need to set the default com port and it’s baud rate. We also need to select the correct drive/partition to boot from and then proceed with the boot! Keep in mind the correct partition would be probably different on your setup. Try all the disks!

stty com7 1500000
set tty com7
set device sd11a 

This will boot us straight into OpenBSD:

boot> b                                                                                 
cannot open sd11a:/etc/random.seed: No such file or directory                           
booting sd11a:/bsd: 2861736+1091248+12711584+634544 [233295+91+666048+260913]=0x13d5cf8 
Copyright (c) 1982, 1986, 1989, 1991, 1993                                              
        The Regents of the University of California.  All rights reserved.              
Copyright (c) 1995-2023 OpenBSD. All rights reserved.          
OpenBSD 7.4 (RAMDISK) #2131: Sun Oct  8 13:35:40 MDT 2023                                             
real mem  = 2036961280 (1942MB)                                                         
avail mem = 1937559552 (1847MB)                                                         
random: boothowto does not indicate good seed                                           
mainbus0 at root: Rockchip RK3568 Evaluation Board                                      
psci0 at mainbus0: PSCI 1.1, SMCCC 1.2, SYSTEM_SUSPEND                                  
efi0 at mainbus0: UEFI 2.0.5                                                            
cpu0 at mainbus0 mpidr 0: ARM Cortex-A55 r2p0                                           
cpu0: 32KB 64b/line 4-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache               
cpu0: 512KB 64b/line 16-way L2 cache                                                    
agintc0 at mainbus0 shift 4:4 nirq 352 nredist 4: "interrupt-controller"                
syscon0 at mainbus0: "syscon"                                                           
"reboot-mode" at syscon0 not configured                                                 
syscon1 at mainbus0: "syscon"                                                           
syscon2 at mainbus0: "syscon"                                                           
syscon3 at mainbus0: "syscon"                                                           
syscon4 at mainbus0: "syscon"                                                           
syscon5 at mainbus0: "syscon"                                                           
syscon6 at mainbus0: "syscon"                                                           
syscon7 at mainbus0: "syscon"                                                           
syscon8 at mainbus0: "syscon"                                                           
rkclock0 at mainbus0: PMUCRU                                                            
rkclock1 at mainbus0: CRU                                                               
rkclock_set_frequency(rkclock0, 43, 100000000)                                          
rkclock_set_frequency(rkclock1, 3, 1000000000)                                          
rk3568_set_pll: 1188000000 Hz                                                           
rkclock_set_frequency(rkclock1, 10, 600000000)                                          
rkclock_set_frequency(rkclock1, 269, 150000000)                                         
rkclock_set_frequency(rkclock1, 270, 100000000)                                         
rkclock_set_frequency(rkclock1, 371, 300000000)                                         
rkclock_set_frequency(rkclock1, 372, 200000000)                                         
rkclock_set_frequency(rkclock1, 373, 150000000)                                         
rkclock_set_frequency(rkclock1, 374, 100000000)                                         
rkclock_set_frequency(rkclock1, 201, 300000000)                                         
rkclock_set_frequency(rkclock1, 202, 150000000)                                         
rkclock_set_frequency(rkclock1, 6, 1200000000)                                          
syscon9 at mainbus0: "power-management"                                                 
"power-controller" at syscon9 not configured                                            
syscon10 at mainbus0: "qos"                                                             
syscon11 at mainbus0: "qos"                                                             
syscon12 at mainbus0: "qos"                                                             
syscon13 at mainbus0: "qos"                                                             
syscon14 at mainbus0: "qos"                                                             
syscon15 at mainbus0: "qos"                                                             
syscon16 at mainbus0: "qos"                                                             
syscon17 at mainbus0: "qos"                                                             
syscon18 at mainbus0: "qos"                                                             
syscon19 at mainbus0: "qos"                                                             
syscon20 at mainbus0: "qos"                                                             
syscon21 at mainbus0: "qos"                                                             
syscon22 at mainbus0: "qos"                                                             
syscon23 at mainbus0: "qos"                                                             
syscon24 at mainbus0: "qos"                                                             
syscon25 at mainbus0: "qos"                                                             
syscon26 at mainbus0: "qos"                                                             
syscon27 at mainbus0: "qos"                                                             
syscon28 at mainbus0: "qos"                                                             
syscon29 at mainbus0: "qos"                                                             
syscon30 at mainbus0: "qos"                                                             
syscon31 at mainbus0: "qos"                                                             
syscon32 at mainbus0: "qos"                                                             
syscon33 at mainbus0: "qos"                                                             
syscon34 at mainbus0: "qos"                                                             
syscon35 at mainbus0: "qos"                                                             
syscon36 at mainbus0: "qos"                                                             
rkusbphy0 at mainbus0: phy 0                                                            
rkpciephy0 at mainbus0                                                                  
rkpinctrl0 at mainbus0: "pinctrl"                                                       
rkgpio0 at rkpinctrl0                                                                   
rkgpio1 at rkpinctrl0                                                                   
rkgpio2 at rkpinctrl0                                                                   
rkgpio3 at rkpinctrl0                                                                   
rkgpio4 at rkpinctrl0                                                                   
"cpu0-opp-table" at mainbus0 not configured                                             
"arm-pmu" at mainbus0 not configured                                                    
"display-subsystem" at mainbus0 not configured                                          
agtimer0 at mainbus0: 24000 kHz                                                         
"external-gmac0-clock" at mainbus0 not configured                                       
"external-gmac1-clock" at mainbus0 not configured                                       
"xin24m" at mainbus0 not configured                                                     
rkdwusb0 at mainbus0: "usbdrd"                                                          
xhci0 at rkdwusb0, xHCI 1.10                                                            
usb0 at xhci0: USB revision 3.0                                                         
uhub0 at usb0 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1  
rkdwusb1 at mainbus0: "usbhost"                                                         
xhci1 at rkdwusb1, xHCI 1.10                                                            
usb1 at xhci1: USB revision 3.0                                                         
uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1  
rkiic0 at mainbus0                                                                      
iic0 at rkiic0                                                                          
"atmel,24c02" at iic0 addr 0x50 not configured                                          
"pvtm" at mainbus0 not configured                                                       
"opp-table2" at mainbus0 not configured                                                 
"pvtm" at mainbus0 not configured                                                       
"pvtm" at mainbus0 not configured                                                       
dwpcie0 at mainbus0: no config registers                                                
dwmmc0 at mainbus0: 50 MHz base clock                                                   
sdmmc0 at dwmmc0: 1-bit, dma                                                            
dwmmc1 at mainbus0: 50 MHz base clock                                                   
sdmmc1 at dwmmc1: 1-bit, dma                                                            
"sfc" at mainbus0 not configured                                                        
"sdhci" at mainbus0 not configured                                                      
"nandc" at mainbus0 not configured                                                      
"crypto" at mainbus0 not configured                                                     
rkrng0 at mainbus0: ver 2                                                               
"secure_otp" at mainbus0 not configured                                                 
"dmac" at mainbus0 not configured                                                       
"dmac" at mainbus0 not configured                                                       
"watchdog" at mainbus0 not configured                                                   
com0 at mainbus0: dw16550, 64 byte fifo                                                 
"saradc" at mainbus0 not configured                                                     
"adc-keys" at mainbus0 not configured                                                   
"framebuffer" at mainbus0 not configured                                                
uhub2 at uhub1 port 1 configuration 1 interface 0 "Terminus Technology USB2.0 HUB" rev 2
umass0 at uhub2 port 1 configuration 1 interface 0 "Sony Storage Media" rev 2.10/1.00 a3
umass0: using SCSI over Bulk-Only                                                       
scsibus0 at umass0: 2 targets, initiator 0                                              
sd0 at scsibus0 targ 1 lun 0: <Sony, Storage Media, PMAP> removable serial.054c09c2593A5
sd0: 29637MB, 512 bytes/sector, 60698112 sectors                                        
umass1 at uhub2 port 2 configuration 1 interface 0 "USB SanDisk 3.2Gen1" rev 2.10/1.00 4
umass1: using SCSI over Bulk-Only                                                       
scsibus1 at umass1: 2 targets, initiator 0                                              
sd1 at scsibus1 targ 1 lun 0: <USB, SanDisk 3.2Gen1, 1.00> removable serial.07815583810c
sd1: 29340MB, 512 bytes/sector, 60088320 sectors                                        
softraid0 at root                                                                       
scsibus2 at softraid0: 256 targets                                                      
root on rd0a swap on rd0b dump on rd0b                                                  
WARNING: CHECK AND RESET THE DATE!                                                      
rkclock_get_frequency(rkclock1, 10)                                                     
cpu0: clock not implemented                                                             
init: can't open /dev/console: Device not configured     

There is no console… Maybe we can have a glass terminal over the HDMI? I have to check tomorrow.

But this is a big win: after countless hours of messing with this I have managed to boot OpenBSD on the board! But i tought it would be much easier…