Certain NVMe drives are not detected by the UEFI bootloader

This is related to topic: NVMe does not appear in UEFI boot menu after flash - #17 by KevinFFF, but I thought I’d close that one and open a more specific query to hopefully resolve the root cause.

We are using the Micron 2100AI M.2 SSD 128GB NVMe in our configuration. I found that despite the fact this NVMe was being flashed properly through Jetpack 35.1.0 workflow 10 example 2, that the UEFI bootloader would not detect it and list it in the boot manager menu. When I loaded the kernel through the eMMC instead, I verified the NVMe was detected, had the partitions we flashed and that I could mount it and browse the contents. But it is not seen by the bootloader itself.

I then repeated the same exact experiment, flashing the same exact images which had been created in steps 1 and 2 of the workflow to the Transcend TS128GMTE110S KevinFFF used to recreate our test. With this particular NVMe, it is detected by the bootloader and displayed in the UEFI boot menu.

My question is why is the behavior different? Both are PCIe 1.3X 128GB M2. Gen3 x4 NVMe drives. Can you please advise why one drive is detected as compatible by the UEFI bootloader and the other is not? Is there a way to modify the bootloader sources to make a particular drive compatible if we need it for our particular application?


It requires to get the UEFI debug log when NVMe is connected. Please help dump it.

There is no simple answer to directly tell why this nvme would fail while other nvmes would work.

Hi Wayne,

Please find attached bootloader_debug_log (Micron NVMe that doens’t work) and boot_good_log (Transcend NVMe that does work). Both are with my debug build of the UEFI bootloader and default JetPack 35.1.0 otherwise. Please advise if you are able to help us get the Micron NVMe to be detected by UEFI bootloader. Thank you

boot_good_log (123.9 KB)
bootloader_debug_log (62.5 KB)

Sorry for the late response, is this still an issue to support? Thanks

Hi kayccc,

Yes, it is still unclear why very common NVMes like the Micron 2100AI SSD are not recognized as a UEFI bootable device by the cpu-bootloader. The device works fine and I can use it once the kernel comes up. In my thinking this is a bootloader bug that needs to be worked

Please upgrade the release to rel-35.3.1 first. We don’t deubg on old release.

Also, please check if this nvme device could be detected after entering kernel.

Hi WayneWWW & evan.damiano1,

To add more information to this topic. I have a similar micron SSD. I can use the SSD once booted into linux and flash it with the initrd flashing method. In the UEFI shell it shows up when executing pci, but it doesn’t appear as a boot device. Another SSD I tried boots without problems. This is with the latest L4T (35.3.1), boot log shows: Jetson UEFI firmware (version 3.1-32827747 built on 2023-03-19T14:56:32+00:00). There seems to be something special with these type of NVMe drives.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.