Boot L4T directly from SSD on reComputer J202 with Jetson Xavier NX module

Context: I’ve asked this question directly in seeed forums and have not gotten an answer, so I’ve come to this forum instead. I understand that I’m using a third-party carrier board and this forum is not necessarily the proper venue to get this information.

I have an reComputer J202 with the Jetson Xavier NX installed. I would prefer to use an NVMe SSD installed in the M.2 slot instead of the 16 GB eMMC to increase my available disk space. I’m aware of this memory expansion tutorial from seeed but the NVIDIA SDK Manager now seems to support selecting the storage device to flash to. My question is regarding the boot process and the proper way to boot directly from SSD.

The boot process for this board is a bit unclear to me. On a typical desktop computer, the motherboard would have some non-volatile memory dedicated for the BIOS. On boot, execution is “hardcoded” to load the BIOS from that NVM which in turn boots the OS. It is possible to boot from any bootable storage media, but this is done by configuring the boot order in the BIOS to select the OS/storage device you want to boot (i.e. booting the OS occurs after/by the BIOS).

As I understand it, L4T comes with a UEFI-based bootloader. I would expect that this bootloader is performing the tasks of a traditional BIOS and therefore I assume that this would need to be loaded into a specific NVM device. It’s unclear to me if this bootloader is flashed to a dedicated NVM for the BIOS or if it is getting flashed to the storage device I select in NVIDIA SDK Manager.

Boiled down, my question is basically this: Can I just flash to the SSD directly without flashing to the eMMC, or do I need to flash L4T onto the eMMC first? It’s not clear to me if the bootloader/BIOS will live on the eMMC and/or the SSD (in which case there would be two of them if I flashed to both), or if the bootloader/BIOS is being flashed to a dedicated NVM separate from the eMMC and the SSD such that the eMMC and the SSD can be treated as just two different bootable storage devices.

Thanks in advance for any information!

I have no experience with your board, but my understanding was that Seeed Jetson devkits where similar to NVIDIA Jetson devkits, so you should be able to flash Jetson modules on these boards as if these were standard devkits, so it should work with JetPack or SDKM.

Since JP5, it is possible with UEFI to have rootfs on a different storage than eMMC. Use SDKM from a (non-VM) Ubuntu20 host. Before actually flashing, it will prompt for login/password and storage device. Use the latter for targetting your NVME disk.

If you want to get a better understanding of Jeston boot flow, see: Boot Architecture — Jetson Linux Developer Guide documentation

Thanks for the info. If I’ve already flashed to eMMC and I want to switch to NVMe. Do I need to uninstall using SDKM first, or can I just flash again but use the NVMe as the target?

Flashing to NVME should be ok AFAIK.
If after reboot it boots into old eMMC, you may enter into UEFI boot menu and ajdust boot device.

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