Which scripts inside SDK Manager toolset initiates the first EEPROM read?

I’m currently studying the flash process from NVIDIA SDK Manager on my Jetson Orin NX devices.

When checking the logs from a successful flash, I noticed that before the main script is executed:

Line 2367:
04:41:27.653 - info: NV_L4T_FLASH_JETSON_LINUX_COMP@JETSON_ORIN_NX_TARGETS: exec_command: /home/vuh81hc/.nvsdkm/replays/scripts/JetPack_6.2.1_Linux/NV_L4T_FLASH_JETSON_LINUX_COMP.sh

There was a call to tegraflash.py to read eeprom and reboot to recovery.

Line 2154:
04:41:23.620 - info: *** Reading EEPROM … “/home/vuh81hc/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/tegraflash.py” --chip 0x23 --applet “/home/vuh81hc/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/mb1_t234_prod.bin” --cfg readinfo_t234_min_prod.xml --dev_params tegra234-br-bct-diag-boot.dts --device_config tegra234-mb1-bct-device-p3701-0000.dts --misc_config tegra234-mb1-bct-misc-p3701-0000.dts --bins “mb2_applet applet_t234.bin” --skipuid --cmd “dump eeprom cvm cvm.bin; reboot recovery”

Above it I didn’t find any trace of a script being called. Hence I would be appriciated if someone can show me which script actually calls it.

Line numbers mentioned above can be tracked in the full log here:
sdkm-2025-07-14-04-32-33.log (6.4 MB)

Thank you very much.

*** Please note that this reply is generated by LLM automatically ***

The question is about understanding the flash process on a Jetson Orin NX device using the NVIDIA SDK Manager. Specifically, the user is trying to identify the script that calls the tegraflash.py command to read the EEPROM and reboot to recovery mode.

After analyzing the provided log snippet, it appears that the tegraflash.py command is called by the NVL4TFLASHJETSONLINUXCOMP.sh script, which is executed by the nvsdkmanager_flash.sh tool. This script is part of the NVIDIA SDK Manager and is responsible for flashing the Jetson device.

Here’s a breakdown of the relevant log lines:

  1. Line 2367: info NVL4TFLASHJETSONLINUXCOMP:./exec_command: /home/vuh81/hcn/nvsdkm/replay/scripts/JetPack6.2.1/Linux/NVL4TFLASHJETSONLINUXCOMP.sh

This line indicates that the NVL4TFLASHJETSONLINUXCOMP.sh script is being executed.

  1. Line 2154: info: Reading EEPROM: /home/vuh81/hcn/nvidia/nvidia_sdk/JetPack6.2.1/Linux/JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/tegraflash.py ...

This line shows that the tegraflash.py command is being called to read the EEPROM.

Comparing this to the provided context, we can see that the nvsdkmanager_flash.sh tool is a flashing interface script for the SDK Manager, and it is likely responsible for calling the NVL4TFLASHJETSONLINUXCOMP.sh script, which in turn calls the tegraflash.py command.

To summarize:

  • The nvsdkmanager_flash.sh tool is the top-level script that initiates the flash process.
  • The NVL4TFLASHJETSONLINUXCOMP.sh script is called by nvsdkmanager_flash.sh and is responsible for executing the tegraflash.py command to read the EEPROM and reboot to recovery mode.

If you’re interested in modifying the flash process or skipping the EEPROM read, you may want to explore the SKIP_EEPROM_CHECK=1 option, which is mentioned in the context as a way to skip the EEPROM read during flashing. However, this would require further investigation and testing to ensure it works as intended.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

No, you have misunderstood the situation.

The mentioned tegraflash.sh call happens BEFORE nvsdkmanager_flash.sh is called. That’s why I need to know who calls that very first tegraflash.sh.

Hi vuh81hc,

Are you using the devkit or custom board for Orin NX?
It seems you are using the latest Jetpack 6.2.1 release.

May I know what’s your use case to find this?

It is called by nvautoflash.sh.

Have you also tried just using initrd flash script to flash?

Hello, thanks for your reply

I’m using a DevKit

Yes, latest JetPack 6.2.1 is used

Use case is just a generic flashing sequence in SDK Manager: open it, choose pre-config and input my username & password, select which to download and install (Host side and Device side), then click Start, and after flashing complete I retrive the log.

If it was called by nvautoflash.sh, then how can it be called before nvsdkmanager.sh? Because looking into the code I thought that nvsdkmanager.sh is the one that calls nvautoflash.sh (by using --nv-auto-config flag)

I haven’t tried flashing by initrd flash script yet.

nvautoflash.sh is called by nvsdkmanager_flash.sh

If you want to flash through command, we would suggest using initrd flash script.
Please refer to <Linux_for_Tegra>/tools/kernel_flash/README_initrd_flash.txt for details.

Let me also share an example flash command as following:

$ sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -p "-c ./bootloader/generic/cfg/flash_t234_qspi.xml" -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml --showlogs --network usb0 jetson-orin-nano-devkit internal

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