Environment Overview
Hardware:
- Jetson Orin Nano 4G Developer Kit with an external NVMe SSD. There is no eMMC or SD card.
- When the device is in recovery mode and connected to a PC, the USB scan shows the vendor and device ID as
0955:7623.
Software:
- L4T 36.3
Issue Description
- As mentioned in the Quick Start Guide:
# Jetson Orin Nano Developer Kit (NVMe):
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \
--showlogs --network usb0 jetson-orin-nano-devkit internal
- According to
tools/kernel_flash/README_initrd_flash.txt:
For a device with internal QSPI and external NVMe:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_external.xml \
-p "-c bootloader/generic/cfg/flash_t234_qspi.xml --no-systemimg" --network usb0 \
<board> external
| Note: flash_l4t_external.xml is a symlink pointing to flash_l4t_t234_nvme.xml.
So I flashed the device using the command mentioned by Quick Start Guide. When the rootdev parameter is set to either external or nvme0n1p1, in the nvme0n1p1 configuration, the root in the cmdline points to the /dev/nvme0n1p1 device alias. However, when using external or internal, the root in the cmdline is defined via the partition UUID pointing to the nvme0n1p1 partition.To sum up:
- For
nvme0n1p1, the cmdline root is defined asroot=/dev/nvme0n1p1. - For
externalorinternal, the cmdline root uses the partition UUID to reference thenvme0n1p1partition.
While both internal and external yield the same result, we are curious about what the actual difference between them is.
