Flashing for booting from NVMe

I am trying to create a flashing environment for flashing our Xavier AGX without internet, with JetPack 4.6.1, my steps so far are:


(from https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/quick_start.html#wwpID0E0JD0HA)

export L4T_RELEASE_PACKAGE=Jetson_Linux_R32.7.1_aarch64.tbz2
export SAMPLE_FS_PACKAGE=Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2
export BOARD="jetson-agx-xavier-devkit"

tar xf ${L4T_RELEASE_PACKAGE}

cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../${SAMPLE_FS_PACKAGE}
cd ..
sudo ./apply_binaries.sh

[TODO add overlays for having our files in the filesystem]

sudo ./flash.sh ${BOARD} mmcblk0p1

to flash the eMMC (step 1 of https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0VM0HA), I should flash the NVMe, but the instructions say I have to remove it to format it (“2. Connect the NVMe drive to the host computer.”), can I simply format it from the Xavier?

And if I just want the root filesystem to be in the NVMe, but don’t care about boot stuff, what steps of “To set up an NVMe drive manually for booting” should I skip before running step 2 ("$ sudo ./flash.sh nvme0n1p1 ") of “To set up an NVMe drive manually for using as root filesystem”?

1 Like
  1. Theoretically, you can do that on Xaiver. But in practice, you cannot, because the emmc size storage may not be sufficient to let you copy the files to the external storage.

  2. By default, after jp4.6, NVMe has higher priority than emmc in cboot, which means if there is a valid rootfs on the NVMe drive, then cboot will use it to boot up. But you need to run " sudo ./flash.sh balabala nvme0n1p1" so that kernel will mount the rootfs to nvme.

Do I have to format the NVMe beforehand? or will the flash.sh autodetect the size and format acordingly?

By default, after jp4.6, NVMe has higher priority than emmc in cboot, which means if there is a valid rootfs on the NVMe drive, then cboot will use it to boot up. But you need to run " sudo ./flash.sh balabala nvme0n1p1" so that kernel will mount the rootfs to nvme.

This isn’t working, after I flash the SSD it doesn’t boot.

Sounds like this is a known issue that is being investigated.

That issue doesn’t seem to have anything to do with booting from nvme.

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Sorry for the late response, have you managed to get issue resolved or still need the support? Thanks