Download raw body.
riscv64: efiboot: Fix DTB path for Banana PI BPI F3 board
> Date: Mon, 13 Jul 2026 15:10:01 +0200
> From: Jeremie Courreges-Anglas <jca@wxcvbn.org>
>
> 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@).
Go for it (ok kettenis@)
> > 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: <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
> >
>
> --
> jca
>
>
riscv64: efiboot: Fix DTB path for Banana PI BPI F3 board