Flashing to only qspi-nor for OrinNX


We are developing OrinNX system.
And we consider how to flash when we manufacture mass production.

We want to directly flash to only qspi on OrinNX Module.
And NVMe SSD would be clone from the other flashed SSD.

How to flash only qspi on OrinNX Module??
I searched the idea from some scripts under “/Linux_for_Tegra/tools/kernel_flash”
I found the option “–qspi-only”, but I have no idea how to use it.

Hi sumin.lee1,

What’s your carrier board for Orin NX?

Could you help to try the following command?

$ sudo ./flash.sh -c bootloader/t186ref/cfg/flash_t234_qspi.xml <board config> mmcblk0p1

I tested 2 modules.
First one has succeed to flash, but the other one has failed.
I would open new one for this.

Anyway, I tested the module what was flashed.
And I use the NVMe SSD what is cloned as follows.

$ sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude=/proc/ ./rootfs_target/ /mnt/

But the boot is stuck on the step as below:

** WARNING: Test Key is used. **

Start PXE over IPv4.
PXE-E18: Server response timeout.

Start PXE over IPv6.
PXE-E16: No valid offer received.

Start HTTP Boot over IPv4.

What can I try to boot ?

To backup/restore for NVMe drive, please refer to the following thread.
How to clone Orin NX APP partition to host PC - #6 by lhoang

Please remove the ethernet cable and provide the full serial console log for further check.
Or you can enter into boot menu to check what’s the boot device currently.

It looks I can flash NVMe SSD and QSPI NOR at same time through USB with flash script.

I don’t know how to flash those images to NVMe SSD directly without jetson module.

And we want a process as follows:
QSPI NOR : Flashing by USB with flash scripts.
NVMe SSD : Cloning Master SSD to the other SSDs

I tried to clone SSDs by ‘dd’ commands.

This is the result :

And there is the issue after the qspi nor is only flashed.
It doesn’t boot, Master SSD and Cloned SSD both are not working.

Please, check the boot log on the Debug UART.
boot_log.txt (34.2 KB)

It seems worked with the previous flash command provided.

For this use case, please refer to the Workflow 12: Manually generate a bootable external storage device from Linux_for_Tegra/tools/kernel_flash/README_initrd_flash.txt through connecting your NVMe on your host PC and run the command.

QSPI NOR : Flashing by USB with flash scripts.

Step 1. Flashing QSPI NOR and NVMe SSD same time
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml --qspi-only -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 p3768-0000+p3767-0000 internal

Step 2. Flashing only QSPI NOR
$ sudo ./flash.sh -c bootloader/t186ref/cfg/flash_t234_qspi.xml mmcblk0p1

It doesn’t works after step 2. boot is stuck.

Flashing is success to only qspi nor, but booting is not working.
Please, check the boot log. what is the problem?
boot_log.txt (34.2 KB)

It seems gpt partition missing.

Can you boot up successfully after Step1?

Yes, step 1 is succeed to boot.

You don’t add board config in Step2…
Please use the following command for Step2. Flashing only QSPI

$sudo ./flash.sh -c bootloader/t186ref/cfg/flash_t234_qspi.xml p3768-0000+p3767-0000 mmcblk0p1
1 Like

It works !!!
Original NVMe SSD and Copied NVMe SSD both are successful to boot.
Thanks ~

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