I have an issue with the OTA update from JetPack 6.2.0 to JetPack 6.2.1 (no problems with OTA when I updated from the previous version to 6.2.0).
Here are the details:
I’m using the Orin Nano Dev kit burned from scratch with JetPack 6.2.0
Prepared the OTA package with the command: ROOTFS_AB=1 ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 24GiB jetson-orin-nano-devkit R36-4
Apply OTA package on the board
Got this error:
Verifying image /ota_work/external_device/images-R36-ToT/recovery.img with sha1 chksum file /tmp/sha1sum.tmp
Sha1 checksum for /ota_work/external_device/images-R36-ToT/recovery.img (857187d315cfa8e2f208da4b60ad7b510bbddc52) matches
update_specified_partitions_alt recovery /ota_work/external_device/images-R36-ToT/recovery.img /tmp/sha1sum.tmp
Start checking update state.
Dump recovery of 63647744 into /tmp/recovery_image.tmp.
Reading 63647744 bytes from /dev/nvme0n1p12: 1KB block=62156 remainder=0 offset=63647744
Dump recovery_alt of 63647744 into /tmp/recovery_alt_image.tmp.
Reading 63647744 bytes from /dev/nvme0n1p9: 1KB block=62156 remainder=0 offset=63647744
Dump whole recovery_alt partition into /tmp/recovery_alt_part.tmp.
Verifying image /tmp/recovery_image.tmp with sha1 chksum file /tmp/sha1sum.tmp
Sha1 checksum for /tmp/recovery_image.tmp (e02728313ffaf2e3b5be8b9d9c79962f3df42a23 != 857187d315cfa8e2f208da4b60ad7b510bbddc52) does not match
recovery does not contain the image to be updated.
Verifying image /tmp/recovery_alt_image.tmp with sha1 chksum file /tmp/sha1sum.tmp
Sha1 checksum for /tmp/recovery_alt_image.tmp (f7df597da8405e7d2a93d44387f4f5bf028d5307 != 857187d315cfa8e2f208da4b60ad7b510bbddc52) does not match
recovery_alt does not contain the image to be updated.
*** Please note that this reply is generated by LLM automatically ***
Based on the provided context, I’ll try to help you troubleshoot the issue with the OTA update from JetPack 620 to JetPack 621 on your Jetson Orin Nano Dev kit.
Firstly, it’s great that you didn’t encounter any issues with the OTA update from the previous version to 620. However, since you’re experiencing problems with the update from 620 to 621, let’s investigate possible causes.
Check the OTA update logs: Look for any error messages or warnings in the OTA update logs. This might give you a hint about what’s going wrong. You can find the logs in the /var/log/ota directory.
Verify the current software version: Ensure that your Jetson Orin Nano is running the correct software version. Check the /etc/nv_tegra_release directory to confirm that you’re running JetPack 620.
Check for any pending updates: Run the sudo apt update and sudo apt full-upgrade commands to ensure that your system is up-to-date and that there are no pending updates.
Verify the OTA update package: Make sure that the OTA update package is correct and not corrupted. You can try re-downloading the package or checking its integrity using the sha256sum command.
Check for any conflicts with other packages: It’s possible that another package is conflicting with the OTA update. Try removing any recently installed packages or dependencies that might be causing the issue.
Try a manual update: If the OTA update is failing, you can try updating manually using the sudo apt install command. This might help you identify if the issue is specific to the OTA update process.
Check the NVIDIA forums and documentation: Look for any known issues or documentation related to the OTA update from JetPack 620 to JetPack 621 on the NVIDIA forums and documentation.
Comparing your issue with others in the provided context:
There are several other issues related to OTA updates on the Jetson Orin Nano, such as “OTA Update causing unbootable state” and “Problem generating OTA payload for 5.1.2->5.1.3 update”. However, these issues seem to be related to different software versions and might not be directly applicable to your situation.
The “Issue that OTA works on some Jetsons but not others” thread might be relevant, as it discusses issues with OTA updates on different Jetson devices. However, the specific cause and solution are not clear in this thread.
To further troubleshoot the issue, you can try providing more details about the error messages or warnings you’re seeing during the OTA update process. Additionally, you can try running the sudo ota-update command with the --verbose flag to get more detailed output.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
OTA update from Jetpack 6.2.0(r36.4.3) to 6.2.1(r36.4.4) is an minor update. They are both R36-4.
You can simply refer to Updating to a New Point Release to perform the update on the devkit.
Thanks for your reply, but I would like to pay your attention, I’m using A/B boot functionality, which requires initial flashing with ROOTFS_AB=1, and I’m generating the OTA package with ROOTFS_AB=1 too. So, if I try to switch back to update to the minor release via apt, I will get an issue with nvidia-* packages and an error message that I should use the A/B boot approach. I will get a broken package management system.
In addition, if you can see into sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
You can see:
deb ``https://repo.download.nvidia.com/jetson/common`` r36.4 main deb ``https://repo.download.nvidia.com/jetson/t234`` r36.4 main deb ``https://repo.download.nvidia.com/jetson/ffmpeg`` r36.4 main
Nothing to change here (6.2.0(r36.4.3) = 6.2.1(r36.4.4) on the repository point of view)
Also, I want to bring to your attention a similar issue, but it was related to encryption. As you can see, I’m not using encryption, but the issue is the same.
Yes, sure, I tested it via direct flashing, everything was fine, then I tried to update my Dev kit Orin Nano to simulate OTA rollout to the field devices, and faced this issue with OTA.
I talked about it in the previous post:
Let me show you what happened:
Preparing to unpack …/35-nvidia-l4t-core_36.4.4-20250616085344_arm64.deb … WARNING: rootfs A/B is enabled, can not update using Debian OTA, quit. dpkg: error processing archive /tmp/apt-dpkg-install-fyFlIL/35-nvidia-l4t-core_36.4.4-20250616085344_arm64.deb (–unpack): new nvidia-l4t-core package pre-installation script subprocess returned error exit status 1 Errors were encountered while processing: /tmp/apt-dpkg-install-fyFlIL/35-nvidia-l4t-core_36.4.4-20250616085344_arm64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
root@orin:/home/nvidia# journalctl --no-pager -u nv-l4t-bootloader-config
Oct 14 18:00:35 orin systemd[1]: Starting Configure bootloader service...
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1012]: 3767--0005--1--jetson-orin-nano-devkit-
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1342]: TNSPEC 3767-300-0005-K.2-1-1-jetson-orin-nano-devkit-
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1342]: COMPATIBLE_SPEC 3767--0005--1--jetson-orin-nano-devkit-
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1342]: TEGRA_BOOT_STORAGE nvme0n1
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1342]: TEGRA_CHIPID 0x23
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1342]: TEGRA_OTA_BOOT_DEVICE /dev/mtdblock0
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1342]: TEGRA_OTA_GPT_DEVICE /dev/mtdblock0
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1012]: Info: Write TegraPlatformCompatSpec with 3767--0005--1--jetson-orin-nano-devkit-.
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1012]: Info: The esp is already mounted to /boot/efi.
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1012]: Info: System version(deb version): 2360323, BSP version(QSPI version): 2360323
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1012]: Info: Verifying bootloader and rootfs status.
Oct 14 18:00:35 orin nv-l4t-bootloader-config.sh[1374]: Info: variable BootChainFwStatus is not found.
Oct 14 18:00:36 orin systemd[1]: nv-l4t-bootloader-config.service: Deactivated successfully.
Oct 14 18:00:36 orin systemd[1]: Finished Configure bootloader service.
cd /update_tools/Linux_for_Tegra/tools/ota_tools/version_upgrade
patch -p0 <<'PATCH'
--- nv_ota_update_alt_part.func
+++ nv_ota_update_alt_part.func
@@ -248,8 +248,7 @@
if [ "${is_part_new}" = "false" ] && [ "${is_part_alt_new}" = "true" ]; then
current_state="S2"
fi
- if [ "${is_part_new}" = "true" ] && [ "${is_part_alt_erased}" = "false" ] \
- && [ "${is_part_alt_new}" = "false" ]; then
+ if [ "${is_part_new}" = "true" ] && [ "${is_part_alt_erased}" = "false" ]; then
current_state="S3"
fi
if [ "${is_part_new}" = "true" ] && [ "${is_part_alt_erased}" = "true" ]; then
PATCH
Try to apply the patch with our OTA guide, got a new error:
recovery-dtb_alt contains the image to be updated already.
Sha1sum of erased recovery-dtb: 6a521e1d2a632c26e53b83d2cc4b0edecfc1e68c
Create sha1sum of erased recovery-dtb to /ota_work/external_device/images-R36-ToT/tegra234-p3768-0000+p3767-0005-nv.dtb.rec.erased.sha1sum
Verifying image /tmp/recovery-dtb_alt_part.tmp with sha1 chksum file /ota_work/external_device/images-R36-ToT/tegra234-p3768-0000+p3767-0005-nv.dtb.rec.erased.sha1sum
Sha1 checksum for /tmp/recovery-dtb_alt_part.tmp (a7d55a527ae3ce141b08fd08a73bfd4c5a6a308f != 6a521e1d2a632c26e53b83d2cc4b0edecfc1e68c) does not match
recovery-dtb_alt needs to be erased
Current update state: err.
Enter error update state, exiting update process...
Failed to run "update_specified_partitions_alt recovery-dtb /ota_work/external_device/images-R36-ToT/tegra234-p3768-0000+p3767-0005-nv.dtb.rec /tmp/sha1sum.tmp "
Failed to run "install_partition_with_alt /ota_work/external_device/images-R36-ToT recovery-dtb"
Failed to run "update_misc_partitions /ota_work /ota_work/external_device/images-R36-ToT"
I applied another “fix“:
# Zeroizing recovery-dtb_alt!
# from log it should be: /dev/nvme0n1p13
sudo blkdiscard /dev/nvme0n1p13 || sudo dd if=/dev/zero of=/dev/nvme0n1p13 bs=1M status=progress conv=fsync
Apply the OTA package again and got SUCCESS!
After it, I applied the regular procedure with OTA package without any patches, and it working fine too, I repeated it 4 times, from A to B and from B to A, everything is working fine. Looks like we have and issue with initial flashing of JetPack…