[PATCH 2/3] env: ext4: Add support for NVME

Fabio Estevam festevam at gmail.com
Tue Aug 12 19:46:11 CEST 2025


Add support for retrieving the EXT4 environment from an NVME device, the
same way it can be retrieved from MMC, SCSI, or VIRTIO.

To use the EXT4 environment from an NVME device, pass
CONFIG_ENV_EXT4_INTERFACE="nvme" in the defconfig.

Signed-off-by: Fabio Estevam <festevam at gmail.com>
---
 env/ext4.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/env/ext4.c b/env/ext4.c
index d92c844ea6c0..c8122b4d22cb 100644
--- a/env/ext4.c
+++ b/env/ext4.c
@@ -22,6 +22,7 @@
 
 #include <command.h>
 #include <env.h>
+#include <init.h>
 #include <env_internal.h>
 #include <linux/stddef.h>
 #include <malloc.h>
@@ -30,6 +31,7 @@
 #include <errno.h>
 #include <ext4fs.h>
 #include <mmc.h>
+#include <nvme.h>
 #include <scsi.h>
 #include <virtio.h>
 #include <asm/global_data.h>
@@ -156,6 +158,14 @@ static int env_ext4_load(void)
 		virtio_init();
 #endif
 
+#if defined(CONFIG_NVME)
+	if (!strcmp(ifname, "nvme")) {
+		if (IS_ENABLED(CONFIG_PCI))
+			pci_init();
+
+		nvme_scan_namespace();
+	}
+#endif
 	part = blk_get_device_part_str(ifname, dev_and_part,
 				       &dev_desc, &info, 1);
 	if (part < 0)
-- 
2.34.1



More information about the U-Boot mailing list