Not familiar with the device, but it seems to have a 16MB NOR chip where the U-Boot should reside. If they make proper use of U-Boot features you should be able to modify the boot order by setting a U-Boot environment variable. Unfortunately most OEMs don’t understand how to make proper use of the U-Boot environment variables, so there is a very slim chance that it is actually supported.
There is a (Kernel 6.18) Risc-V UEFI Image available at Armbian - unfortunately, it does not boot all the way with RV2, but the UEFI seems to work
You could probably extract the UEFI part:
@Pulver
If you want the original source, just go straight to the actual source of the work.
@RaylynnKnight
You’re right. I couldn’t change the boot order either, because what we have is poorly implemented and obfuscated.
@johnkarazou
Is it really possible to flash the image directly to the RV2’s NVMe from a Linux PC after booting OpenWrt from NVMe (It’s possible that for the R2S a similar command could be used, adapted to its integrated MMC storage, but I can’t test it to confirm):
For RV2:
pv openwrt.img | ssh root@[device_address]'dd of=/dev/nvme0n1 bs=4M conv=fsync && reboot'
Ah - just happened to see the armbian image and tried it on my RV2, thanks for the link.