What difference between the internal and external of rootdev parameters in Jetson Orin Nano Flashing?

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 as root=/dev/nvme0n1p1.
  • For external or internal, the cmdline root uses the partition UUID to reference the nvme0n1p1 partition.

While both internal and external yield the same result, we are curious about what the actual difference between them is.

Additional Information

There is a section in tools/kernel_flash/README_initrd_flash.txt as following:

  • --external-device nvme0n1p1 specifies the external device.
  • -c tools/kernel_flash/flash_l4t_t234_nvme.xml specifies the partition on the external device, where APP refers to the rootfs partition.
  • -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" indicates that the bootloader is flashed onto the core board’s NOR flash.
    Given that the rootfs is already defined by the first two parameters, what is the purpose of the rootdev parameter in this context?

Because Jetson Orin Nano 4GB has no internal storage. There are no differences between internal and external

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