From: Mark Kettenis Subject: Re: riscv64: efiboot: Fix DTB path for Banana PI BPI F3 board To: Jeremie Courreges-Anglas Cc: miguel@miguel.cc, tech@openbsd.org Date: Mon, 13 Jul 2026 17:37:42 +0200 > Date: Mon, 13 Jul 2026 15:10:01 +0200 > From: Jeremie Courreges-Anglas > > 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: > > 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 > >