some devices like AGX Orin have mmcblk0, which 64gb and could be a rootfs.
Please refer to this gudie to check.
In this case (only support nvme).
Just use sudo ./tools/backup_restore/l4t_backup_restore.sh -e nvme0n1 -b jetson-orin-nano-devkit
and QSPI img will be backup.
Is it possible to flash Jetson Linux to an external SSD drive which is connected the unit through a USB port? instead of flashing to NVMe present on customized carrier board, which is current setup.
Also in the Readme_initrd_flash.txt file we have slighlty different commands. Especially ADDITIONAL_DTB_OVERLAY_OPT= . please clarify.
Workflow 3: How to flash to an external storage:
Requirements
To flash to an externally connected storage device, you need to create your own
partition config xml file for the external device. For information about how to
do this, see the âExternal Storage Device Partitionâ section in the developer
guide. Especially note that you will need to change the ânum_sectorsâ field of
the partition config xml file to match your external storage device, as Initrd
flash does not support size discovery. You must change ânum_sectorsâ so that
num_sectors * sector_size is equal to or smaller the size of your external
storage device. And for all types of external device, the device âtypeâ needs to
be ânvmeâ.
There are three examples xml files in the tools/kernel_flash folder. These
examples assume that the attached external storage is 64 gibibytes and above:
flash_l4t_external.xml contains both the rootfs, kernel and kernel-dtb on the
external storage device.
flash_l4t_nvme_rootfs_enc.xml is a sample partition configuration that is used for
disk encryption feature on external storage.
flash_l4t_nvme_rootfs_ab.xml is a sample partition configuration that is used for the
rootfs ab feature on external storage.
To flash, run this command from the Linux_for_Tegra folder:
$ sudo ADDITIONAL_DTB_OVERLAY_OPT= ./tools/kernel_flash/l4t_initrd_flash.sh --external-device
-c
[ --external-only ]
[ -S ]
[ --network ]
Where:
and variables are similar to those that are used for
flash.sh. (See more details in the official documentationâs board name
table).
can be set to âmmcblk0p1â or âinternalâ for booting from internal
device or âexternalâ, âsda1â or ânvme0n1p1â for booting from external device.
If your external deviceâs external partition layout has âAPPâ partition,
specifying here ânvme0n1p1â will generate the rootfs boot commandline:
root=/dev/nvme0n1p1. If is internal or external, the tool will
generate rootfs commandline: root=PARTUUID=âŠ
is the partition layout for the external storage
device in XML format.
is the name of the external storage device you want to flash
as it appears in the â/dev/â folder (i.e nvme0n1, sda).
is the size of the partition that contains the operating system in bytes.
KiB, MiB, GiB shorthand are allowed, for example, 1GiB means 1024 * 1024 *
1024 bytes. This size cannot be bigger than ânum_sectorsâ * âsector_sizeâ
specified in the and must be small enough to fit
other partitions in the partition layout.
Use --external-only to flash only the external storage device.
If you do not provide the ââexternal-onlyâ option, the command will flash both internal and
external storage devices.
Use --network if you want the flash process to happen through Ethernet protocol
instead of USB protocol. Ethernet protocol is more reliable than USB protocol
for external devices like USB.
can be âusb0â when flashing using ethernet protocol through the usb
flashing cable or âeth0:/:â when flashing using
ethernet protocol through the RJ45 cable.
(Optional) Declare ADDITIONAL_DTB_OVERLAY_OPT= where can be BootOrderNvme.dtbo.
This allows UEFI to prioritize booting from NVMe SSD. can also be BootOrderUsb.dtbo, which
allows UEFI to prioritize booting from the USB storage drive
Example usage:
Flash an NVMe SSD and use APP partition on it as root filesystem
sudo ADDITIONAL_DTB_OVERLAY_OPT=âBootOrderNvme.dtboâ --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml --showlogs jetson-xavier nvme0n1p1
Flash USB-connected storage use APP partition on it as root filesystem
sudo ADDITIONAL_DTB_OVERLAY_OPT=âBootOrderUsb.dtboâ --external-device sda1 -c ./tools/kernel_flash/flash_l4t_external.xml --showlogs jetson-xavier mmcblk0p1
Flash an NVMe SSD and use the partition UUID (that is specified in l4t-rootfs-uuid.txt_ext) as the root filesystem:
sudo ADDITIONAL_DTB_OVERLAY_OPT=âBootOrderNvme.dtboâ --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml --showlogs jetson-xavier external
Initrd flash depends on --external-device options and the last parameter
to generate the correct images. The following combinations are supported:
±------------------±----------------±------------------------------------------------------+
| --external-device | | Results |
±------------------±----------------±------------------------------------------------------+
| nvmenp* / sda* | internal | External device contains full root filesystem with |
| | | kernel commandline: rootfs=PARTUUID= |
| | | |
| | | Internal device contains full root filesystem with |
| | | kernel commandline: rootfs=PARTUUID= |
±------------------±----------------±------------------------------------------------------+
| nvmenp* / sda* | nvme0np / sd* | External device contains full root filesystem with |
| | | with kernel commandline rootfs=/dev/nvme0n1p1 |
| | | |
| | | Internal device contains minimal filesystem with |
| | | kernel command line rootfs=/dev/nvme0n1p1 |
±------------------±----------------±------------------------------------------------------+
| nvmenp* / sda* | mmcblk0p1 | External device contains full root filesystem with |
| | | with kernel commandline rootfs=/dev/nvme0n1p1 |
| | | |
| | | Internal device contains full filesystem with |
| | | kernel command line rootfs=/dev/mmcblk0p1 |
±------------------±----------------±------------------------------------------------------+
| nvmenp* / sda* | external | External device contains full root filesystem with |
| | | kernel commandline: rootfs=PARTUUID= |
| | | |
| | | Internal device contains minimal root filesystem with |
| | | kernel commandline: rootfs=PARTUUID= |
±------------------±----------------±------------------------------------------------------+
But we had used l4t_initrd_flash.sh script to flash external USB SSD.
Please let us know the exact command to use for flashing to change boot order during flashing with âADDITIONAL_DTB_OVERLAY_OPTâ parameter for our use case
Does the below command will work:
As your mentioned workflow, l4t_initrd_flash.sh support this parameter
The command example you could refer workflow 4
Workflow 4: How to flash to device with internal QSPI and an external storage device:
Some Jetson devices like Jetson Orin NX and Jetson Xavier NX have an internal QSPI and an external
storage device, which flash.sh may not have support flashing yet. In this case you can use the following commands:
Here We observe slight change in the command , what we used and the one given here:
We used " -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml ", here they are using â-c tools/kernel_flash/flash_l4t_external.xmlâ. Will this different paritionlayout file matter in any way?
We did not use the ââno-systemimgâ parameter for internal QSPI flashing. Will this effect in any way?
Itâs fine not to set this args. Since Orin NX donât have internal storage, you could set this args to not recreate the system img to reduce some time.