From: Jeremie Courreges-Anglas Subject: Re: riscv64: efiboot: Fix DTB path for Banana PI BPI F3 board To: Miguel Landaeta Cc: tech@openbsd.org Date: Mon, 13 Jul 2026 15:10:01 +0200 On Sun, Jul 12, 2026 at 07:38:09PM +0000, Miguel Landaeta wrote: > 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. Indeed. I'll commit it soonish unless kettenis@ beats me to it (ok jca@). > 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: dmesg is always useful! > > 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 So your bpi also doesn't have its mac addresses written into its eeprom, or your u-boot version doesn't know how to access it. On my machine, the u-boot version from bianbu attempts to save the random-ish mac address(es) to u-boot env, which I then saved to get stable addresses. > 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: > 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 > -- jca