Orin NX flash qspi 64mb memory

Hello, we are using Orin NX/Nano modules with custom boards. We can successfully flash module with external nvme disk with l4t_initrd_flash.sh script.

To speedup proccess for mass production, we want to clone external disk and flash only 64mb internal qspi memory.

I’ve found command to flash only qspi memory:

sudo ./flash.sh -c bootloader/t186ref/cfg/flash_t234_qspi.xml p3768-0000+p3767-0000-custom-config mmcblk0p1

But it failes with error message:

Error: missing rootfs_dir ()

Internal qspi memory contains just partitions with booloaders, configs, … from flash_t234_qspi.xml, it’s too small for rootfs .

So what I’m doing wrong?

That command feels rather strange to me. Are you using Jetpack 5? is p3768-0000+p3767-0000-custom-config something you’ve created?

I’ve found this command on this forum in many places. Some commands use”internal” for last parameter, some - other path to xml config - bootloader/generic/cfg/…, but I don’t have bootloader/generic in my BSP directory.

I’m using Jetson Linux 35.5.0 BSP with custom config file for custom system board.

Log with error:

qspi_orin_flash.log (19.6 KB)

Yup, you’re using JP 5.1.3. The fact that some commands use /bootloader/generic/cfg indicated that those commands are for Jetpack 6.The fact that in the log I can see

Usage: sudo ./flash.sh [options] t186ref mmcblk0p1

means that the command is incorrect.

Jetson developer guide for JP 5.1.3 notes
The official method of flashing Orin NX and Nano is to use initrd flashing.
Basically you want to modify this command

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -p "-c ./bootloader/t186ref/cfg/flash_t234_qspi.xml" -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml --showlogs --network usb0 jetson-orin-nano-devkit nvme0n1p1

To only flash the QSPI. I do not have the exact tried and tested command right now for JP 5, but it should be close to

sudo ./tools/kernel_flash/l4t_initrd_flash.sh -p “-c ./bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 <your board config> internal

Thanks for help, I’ve found the problem - link rootfs didn’t point to rootfs directory. I have fixed this and now both methods work fine with flash.sh and l4t_initrd_flash.sh.

Hi,

Since the issue seems to be resolved, could we close the topics?

Thanks

Yes, thanks, you can close this topic.

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