I have an NVMe I’ve been using with an Xavier NX for a while. I also have a separate Xavier NX SoM that is fresh from the factory. I would like to configure the new Xavier NX to boot from my existing NVMe drive. All the the help I can find on how set the Xavier NX to boot from an NVMe drive makes the assumption that the NVMe drive is new and needs to be flashed. I haven’t been able to find any documentation that tells how to only set the QPSI to boot from an NVMe drive without flashing it first. How can I do this?
If your “old NVMe” already had pre-installed rootfs on it, then what you need to do is just plug in the old nvme to your carrier board.
But please make sure this “new Xavier NX” is flashed with sdkmanager and the version is rel-32.6.1 or rel-32.7.1. Any previous release does not support boot from nvme.
Also, what I mean “flashed with sdkmanager” is just flash the eMMC or sdcard case. Not flashing the NVMe on it.
In brief, to use old NVMe on a new Jetson Xavier, only 2 steps
Do not plug any NVMe drive. Just flash your xavier with sdkamanger with jp4.6 or 4.6.1, choose either emmc or sd according to the module you are using.
After (1), power off the device and then connect the NVMe on the slot. Boot up.
Then it shall boot from your NVMe drive.
If you want to do further check, then you shall dump the uart log.
Thank you for the reply. Is there anyway to do this with the NVMe already connected? My set up does not have an sdcard
Would something like ./nvautoflash.sh jetson-xavier-nx-devkit-emmc flash just the eMMC and leave the NVMe alone? Then it would boot from the NVMe after that? I’d prefer to have the only rootfs be on the NVMe and not use eMMC so would it be possible to flash only the QPSI to load from the NVMe only? something like sudo ./tools/kernel_flash/l4t_initrd_flash.sh jetson-xavier-nx-devkit-qspi internal?