Index | Thread | Search

From:
Miguel Landaeta <miguel@miguel.cc>
Subject:
riscv64: efiboot: Fix DTB path for Banana PI BPI F3 board
To:
tech@openbsd.org
Date:
Sun, 12 Jul 2026 19:38:09 +0000

Download raw body.

Thread
Hi,

I recently installed -current on this board and I noticed the following
error at boot time because it was broking the installer (since no DTB
was loaded, nothing started after devices discovery)

> cannot open sd0a:/etc/firmware/dtb/k1-bananapi-f3.dtb

You can workaround this by just copying the dtb to the expected path but
I think the proper fix should be to correct the location in the bootloader.


diff --git a/sys/arch/riscv64/stand/efiboot/efiboot.c b/sys/arch/riscv64/stand/efiboot/efiboot.c
index cc1034d8f4c..f79cc151803 100644
--- a/sys/arch/riscv64/stand/efiboot/efiboot.c
+++ b/sys/arch/riscv64/stand/efiboot/efiboot.c
@@ -991,7 +991,7 @@ struct fdt_dtb {
 	{ "Milk-V(M1) Jupiter",
 	  "spacemit/k1-milkv-jupiter.dtb" },
 	{ "spacemit k1-x deb1 board",
-	  "k1-bananapi-f3.dtb" },
+	  "spacemit/k1-bananapi-f3.dtb" },
 	{ "spacemit k1-x evb board",
 	  "spacemit/k1-milkv-jupiter.dtb" },
 };


If useful, you can see the full dmesg after successful installation below:


OpenBSD 7.9-current (GENERIC.MP) #35: Fri Jul 10 12:52:59 MDT 2026
    deraadt@riscv64.openbsd.org:/usr/src/sys/arch/riscv64/compile/GENERIC.MP
real mem  = 2147483648 (2048MB)
avail mem = 2013499392 (1920MB)
SBI: OpenSBI v1.3, SBI Specification Version 1.0
random: good seed from bootblocks
mainbus0 at root: Banana Pi BPI-F3
cpu0 at mainbus0: SpacemiT X60 imp 1000000049772200
intc0 at cpu0
cpu0: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 128-way L1 D-cache
cpu0: 512KB 64b/line 512-way L2 cache
cpu1 at mainbus0: SpacemiT X60 imp 1000000049772200
cpu1: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 128-way L1 D-cache
cpu1: 512KB 64b/line 512-way L2 cache
cpu2 at mainbus0: SpacemiT X60 imp 1000000049772200
cpu2: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 128-way L1 D-cache
cpu2: 512KB 64b/line 512-way L2 cache
cpu3 at mainbus0: SpacemiT X60 imp 1000000049772200
cpu3: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 128-way L1 D-cache
cpu3: 512KB 64b/line 512-way L2 cache
cpu4 at mainbus0: SpacemiT X60 imp 1000000049772200
cpu4: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 128-way L1 D-cache
cpu4: 512KB 64b/line 512-way L2 cache
cpu5 at mainbus0: SpacemiT X60 imp 1000000049772200
cpu5: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 128-way L1 D-cache
cpu5: 512KB 64b/line 512-way L2 cache
cpu6 at mainbus0: SpacemiT X60 imp 1000000049772200
cpu6: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 128-way L1 D-cache
cpu6: 512KB 64b/line 512-way L2 cache
cpu7 at mainbus0: SpacemiT X60 imp 1000000049772200
cpu7: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 128-way L1 D-cache
cpu7: 512KB 64b/line 512-way L2 cache
"clocks" at mainbus0 not configured
simplebus0 at mainbus0: "soc"
smtclock0 at simplebus0
smtpinctrl0 at simplebus0
smtclock1 at simplebus0
plic0 at simplebus0
"system-controller" at simplebus0 not configured
"system-controller" at simplebus0 not configured
smtiic0 at simplebus0
iic0 at smtiic0
"atmel,24c02" at iic0 addr 0x50 not configured
"phy" at simplebus0 not configured
smtcomphy0 at simplebus0
smtcomphy1 at simplebus0
smtcomphy2 at simplebus0
smtgpio0 at simplebus0
smtiic1 at simplebus0
iic1 at smtiic1
smtpmic0 at iic1 addr 0x41
"system-controller" at simplebus0 not configured
"clock-controller" at simplebus0 not configured
"timer" at simplebus0 not configured
"system-controller" at simplebus0 not configured
simplebus1 at simplebus0: "camera-bus"
simplebus2 at simplebus0: "dma-bus"
"dma-controller" at simplebus2 not configured
com0 at simplebus2: pxa2x0, 32 byte fifo
com0: console
"spi" at simplebus2 not configured
simplebus3 at simplebus0: "multimedia-bus"
simplebus4 at simplebus0: "network-bus"
smte0 at simplebus4: address fe:fe:fe:xx:xx:xx
rgephy0 at smte0 phy 1: RTL8169S/8110S/8211, rev. 6
smte1 at simplebus4: address fe:fe:fe:yy:yy:yy
rgephy1 at smte1 phy 1: RTL8169S/8110S/8211, rev. 6
simplebus5 at simplebus0: "pcie-bus"
dwpcie0 at simplebus5
dwpcie1 at simplebus5
pci0 at dwpcie0
ppb0 at pci0 dev 0 function 0 "SpacemiT K1" rev 0x00
pci1 at ppb0 bus 1
nvme0 at pci1 dev 0 function 0 "Samsung PM991" rev 0x00: msix, NVMe 1.4
nvme0: Samsung SSD 980 1TB, firmware 3B4QFXO7, serial ZZZZZZZZZZZZZZZ
scsibus0 at nvme0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <NVMe, Samsung SSD 980, 3B4Q>
sd0: 953869MB, 512 bytes/sector, 1953525168 sectors
pci2 at dwpcie1
ppb1 at pci2 dev 0 function 0 "SpacemiT K1" rev 0x00
pci3 at ppb1 bus 1
simplebus6 at simplebus0: "storage-bus"
xhci0 at simplebus6, xHCI 1.10
xhci0: reset timeout
xhci0: init failed, error=5
"mmc" at simplebus6 not configured
gpioleds0 at mainbus0: "sys-led" (trigger)
"regulator-pcie-vcc3v3" at mainbus0 not configured
"regulator-dc-in-12v" at mainbus0 not configured
"regulator-vcc5v0-sys" at mainbus0 not configured
"regulator-vcc-4v" at mainbus0 not configured
"regulator-usb3-vbus-5v" at mainbus0 not configured
"regulator-usb3-hub-5v" at mainbus0 not configured
"framebuffer" at mainbus0 not configured
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on sd0a (3eb3671fda512163.a) swap on sd0b dump on sd0b