NVIDIA ORIN NX OTA

Hi @JerryChang ,

Im trying to proceed with ota firmware upgrade ,
Im using JP 6.2.2 L4T 36.5
i have added the ota_tools(36.5) packages and files to my sdk

i used the below command to create the file
*sudo -E BOARDID=3767 BOARDSKU=0001 FAB=300 ROOTFS_AB=1 TARGET_BSP=$SDK_BASE/ ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 24GiB jetson-orin-nano-devkit R36-5

but error detected*
Target board(JETSON_ORIN_NANO_DEVKIT) and base version(R36_5) is not supported
Failed to run “ota_validate_params jetson-orin-nano-devkit R36-5 internal /home/abalu/autu_strc/Src/Nvidia/SDK_36.5/Linux_for_Tegra/tools/ota_tools/version_upgrade/ota_board_specs.conf BOARD_SPECS_ARRAY CHIPID”
Usage: sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh [options]
Where,
: target board. Supported boards: jetson-agx-orin-devkit, jetson-agx-orin-devkit-industrial, jetson-orin-nano-devkit, jetson-orin-nano-devkit-super, jetson-orin-nano-devkit-super-maxn.
: the version of the base BSP. Supported versions: R35-5, R35-6, R36-3, R36-4.
options:
-u : PKC key used for odm fused board
-v : Secure Boot Key (SBK) key used for ODM fused board
-i : Key for disk encryption support
-s Skip generating system image.
-b Update bootloader only. Only valid if is R36.
-r Update rootfs only. Only valid if is R36.
-o Specify the script to update rootfs partition.
-f Specify the rootfs image to be written to rootfs partition.
-p Specify the options directly passed into flash.sh when generating images.
–external-device : Specify the external device to be OTAed. Supported devices: nvme0n1.
This option is only valid for jetson-orin-nano-devkit.
-S : Specify the size of rootfs partition on external device. Only valid when --external-device option is set. KiB, MiB, GiB short hands are allowed
Ths size set through this option must be the same as the size of rootfs partition on the external device to be OTAed.
-E : Specify the image to update ESP.
-T : Specify the number of the sectors of the external storage device.
–rootfs-uuid : Specify UUID for rootfs tp be updated through OTA
–rootfs-b-uuid : Specify UUID for rootfs B on the device to be updated through OTA.
–uda-uuid : Specify UUID for UDA on the device to be updated through OTA.
–uefi-keys <keys_conf>: Specify UEFI keys configuration file.
–uefi-enc <UEFI_ENC_key>: Key file (0x19: 16-byte; 0x23: 32-byte) to encrypt UEFI payloads.
Example:

  1. Upgrade from R35.6 to R36 ToT on Jetson AGX Orin Devkit
    sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-agx-orin-devkit R35-6
  2. Upgrade from R35.6 to R36 ToT on Jetson Orin NX/Nano with NVMe device that has 24GiB APP partition
    sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 24GiB jetson-orin-nano-devkit R35-6
  3. Upgrade from R35.6 to R36 ToT on Jetson Orin NX/Nano with NVMe device that has 24GiB APP partition and with rootfs A/B enabled
    sudo ROOTFS_AB=1 ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 24GiB jetson-orin-nano-devkit R35-6

seems the issue is with upgrading to same version

cat L4T/etc/nv_tegra_release
R36 (release), REVISION: 5.0, GCID: 43688277, BOARD: generic, EABI: aarch64, DATE: Fri Jan 16 03:50:45 UTC 2026
KERNEL_VARIANT: oot
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia

could you help here

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

The error message you’re encountering suggests that the target board and base version you’re trying to upgrade to are not supported by the otatools package. Specifically, the error states that the target board JETSONORINNANODEVKIT and base version R365 are not supported.

Upon reviewing the documentation provided, it appears that the otatools package supports the following boards:

  • jetsonagxorindevkit
  • jetsonagxorindevkitindustrial
  • jetsonorinnanodevkit
  • jetsonorinnanodevkitsuper
  • jetsonorinnanodevkitsupermaxn

However, the supported versions are listed as:

  • R355
  • R356
  • R363
  • R364

Notice that R365 is not listed as a supported version. This suggests that the otatools package does not support upgrading to the same version (R365 in this case).

To resolve this issue, you have a few options:

  1. Upgrade to a different version: If you need to upgrade to a different version, you can try using a different version number that is supported by the otatools package. For example, you could try upgrading to R364 instead of R365.
  2. Use a different tool or method: If you need to upgrade to the same version (R365), you may need to use a different tool or method that supports upgrading to the same version. Unfortunately, the documentation provided does not mention any alternative tools or methods.
  3. Wait for an update to the otatools package: It’s possible that the otatools package will be updated in the future to support upgrading to the same version. You can try checking for updates to the package or contacting the package maintainers to see if they have any plans to add support for upgrading to the same version.

In terms of comparing the different boards and versions, here is a summary of the supported boards and versions:

Board Supported Versions
jetsonagxorindevkit R355, R356, R363, R364
jetsonagxorindevkitindustrial R355, R356, R363, R364
jetsonorinnanodevkit R355, R356, R363, R364
jetsonorinnanodevkitsuper R355, R356, R363, R364
jetsonorinnanodevkitsupermaxn R355, R356, R363, R364

Note that the JETSONORINNANODEVKIT board is supported, but the R365 version is not.

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

unfortunately, there’s an issue with the r36.5 OTA tools.
see-also OTA JP6.2.2 to JP6.2.2 support question - #4 by JerryChang

So @JerryChang , if i try the same command with 36-4 can it be upgraded ?
will you be able to provide fix for this issue ?
is there any work around to do , inorder to fix this issue

hello abhiram.m,

yes, please try to run the same commands by using r36.4 OTA tools.

I have copied the ota tools to the Linu_for_tegra/tools/ota_tools/version and then used the below command in 36.5 jp6.2.2
sudo -E BOARDID=3767 BOARDSKU=0001 FAB=300 ROOTFS_AB=1 TARGET_BSP=$SDK_BASE/ ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 24GiB jetson-orin-nano-devkit R36-4

i was able to generate a package at Linux_for_Tegra/bootloader/jetson-orin-nano-devkit/ota_payload_package.tar.gz

then i followed below steps
sudo mkdir -p /installer
sudo tar xvf ota_tools_R36.4.0_aarch64.tbz2 -C /installer
sudo mkdir -p /ota
sudo mv ota_payload_package.tar.gz /ota
cd /installer/Linux_for_Tegra/tools/ota_tools/version_upgrade
sudo ./nv_ota_start.sh /ota/ota_payload_package.tar.gz

however the ota failed
ROOTFS_AB_ENABLED=0
ROOTFS_CURRENT_SLOT=0
is_rootfs_encryption_enabled ROOTFS_ENC_ENABLED
ROOTFS_ENC_ENABLED=0
get_update_slot UPDATE_SLOT
UPDATE_SLOT=B
get_update_control /ota_work UPDATE_BOOTLOADER UPDATE_ROOTFS
UPDATE_BOOTLOADER=1, UPDATE_ROOTFS=1
check_bsp_version /ota_work BASE_VERSION
The version of OTA package(R36-4) does not match the version of current system(R36-5), please check whether the OTA package is correct
Failed to run “check_bsp_version /ota_work BASE_VERSION”

attaching the reference logs

could you please look into it and say what cased the issue
seems the version issue only

ota_20250826-154949.log (1.2 KB)

hello abhiram.m,

it looks you’ve misunderstand my suggestions.
currently, there’s an issue with the r36.5 OTA tools. it means you cannot based-on JP-6.2.2/r36.5.0 for performing OTA updates. (we’re working on it)

HI @JerryChang ,

Following are the points I would like to confirm:

  1. Is it supported to use JP36.5 along with OTA tools from 36.4 for the upgrade process?

    I tried performing the OTA upgrade using the below steps:

    a) Copying the required files into the sdk ota_tools/ folder
    b) Performing the upgrade on the device using OTA tools from 36.4

    However, the upgrade ended in failure, and the related logs are attached above.

    Could you please confirm whether there is any mistake in the steps I followed? If so, kindly let me know the correct procedure.

  2. If OTA upgrade using JP36.5 with OTA tools from 36.4 is not currently supported, since you mentioned that work is in progress, could you please share:
    a) Whether a patch will be provided, or
    b) The expected ETA for support availability?

hello abhiram.m,

>> Q1
there’s version dependency, you cannot work JP-6.2.2 with r36.4 OTA tools.

>> Q2
ideally, there’ll be an updated OTA tools package, please wait when it’s available.

thank you @JerryChang for quick response
we would be waiting for ota tool package
please let us know once its available

hello abhiram.m,

please visit the jetson-linux-r365 for the updated OTA package, OTA Tools r36.5 (updated on 5/22).

Hi @JerryChang

Thank you for the support ,
OTA is working with L4T_36.5 using OTA Tools r36.5 (updated on 5/22) .