Best boot strategy for BPI-R4: eMMC/NAND -> NVMe with SD fallback + Fran’s U-Boot?

I’m trying to design a clean boot setup for my Banana Pi R4 (8GB) with these goals:

  • Normal boot of OpenWrt rootfs from NVMe (ideally eMMC → NVMe, or NAND → NVMe)
  • Ability to insert an SD card with a snapshot build and boot it easily for testing
  • Easy rootfs upgrades later (e.g. sysupgrade?)

From what I understand, the easiest path may be to install Fran’s U-Boot since it supports PCIe on R4 and uEnv.txt.

I’d like to confirm a few points:

  1. Is NVMe boot on R4 currently supported in upstream U-Boot / OpenWrt snapshot U-Boot, or is Fran’s build still required?
  2. If I install Fran’s U-Boot, can I follow @ycfunet’s tutorial as-is, or are there important changes due to newer U-Boot/OpenWrt versions?
  3. When tutorials mention “switch to eMMC boot and boot into U-Boot menu”, does this imply I must use a USB–TTL serial adapter to interact with U-Boot? (I have a CH340-based adapter /1a86:7523/, and I’ve read about some problems connected to its led)
  4. Is the recommended layout still:
  • Bootloader on eMMC (or NAND)
  • Kernel + rootfs on NVMe
  • SD card overrides boot when present?

I followed those two threads:

but any pointers to up-to-date documentation or best practices would be greatly appreciated.

Thanks!

CC: @frank-w , @ycfunet