Is it possible to make NVME as boot instead of sdcard or NAND or EMMC?

You have to build openwrt with nvme support (dts and driver changes) of course,but bootup can be done using my uboot and the changes above…sysupgrade does not work this way as the base is not openwrt…just replace the itb.

You have to use the initramfs itb…there is only one when you build openwrt. This have to ve loaceted on the partition you define in uenv.txt (nvme boot),in my example your nvme have at least first partition as vfat where the itb should be located.

and which errors do you have? afair the itb was loaded from nvme boot (part 1 from nvme)…have not done much tests with openwrt files and nvme, but the initramfs is the one i use for tftp and so it should work for nvme too. i have a cascade to load uEnv.txt on nvme p1 too (for differnt config between nvme and sdcard), but this should not matter here

So I was finally able to boot openwrt (initramfs) from your U-boot.

I even got it to boot from NAND to NVMe OpenWrt (initramfs). There was no way I could get the full version (sysupgrade) working. No matter which method I did, it wouldn’t work.

I still don’t understand how to load it if I build it since your U-boot only allows initramfs ITBs. Am I missing something? Thanks again for all your help! It was great to see it booting and working from NVMe.

Openwrt have a mmc or nand layout,not sure if it can be used for nvme (yes mmc ist gpt,but maybe install upgrade can fail on other device).

Additionally uboot used by openwrt imho does not have nvme support. Not sure if nvme module will work here,but on mmc uboot reads ro rootfs from mmc (initramfs) and then create/load a squashfs later from nvme…here imho the kernel needs nvme support in early stage (in initramfs too=builtin,not module).

I’m not deep enough in openwrt to add this support…the handling in uboot must be changed too

So I did more digging and openwrt supports it as woziwrt is using a different U-boot but maybe it’s easier to work with his u-boot. your U-boot is awesome for other linux though. Thanks so much for all your help! It’s phenomenal work!

1 Like

Today, I updated the builders, workflows, and releases on my bpi-r4-deploy GH to match the commit status of the OpenWRT mainline and MTK SDK as of Aug 18, 2026 :wink:

1 Like

Great work. Would be great something like this just to create NVMe boot and not all that extra stuff on it. Will check it to learn what you did, as i read frank-w. Very helpful. Thank you!