OTA update from 32.7.1 to 35.3.1

After copying the payload into the device, after running

sudo ./nv_ota_start.sh /ota/ota_payload_package.tar.gz

I get an error about a missing crc32, does anyone know what might be wrong

this is the log

### OTA log ###
OTA_LOG_FILE=/ota_log/ota_20240627-154741.log
update_nv_boot_control_in_rootfs /ota_work
check_prerequisites
decompress_ota_package ota_package.tar /ota_work
decompress_ota_package: start at Thu Jun 27 15:48:20 CEST 2024
Sha1 checksum for /ota_work/ota_package.tar (004a149180463250f14fb4e8fd7ecbe255f3254a) matches
decompress_ota_package: end at Thu Jun 27 15:48:43 CEST 2024
nv_ota_update_with_layout_change.sh /dev/nvme0n1
Command: nv_ota_update_with_layout_change.sh /dev/nvme0n1
duplicate_bct_copy
Duplicating BCT image is done
check_bsp_version /ota_work BASE_VERSION
check_target_board /ota_work TARGET_BOARD
set_msi_emmc_min_size jetson-xavier-nx-devkit-emmc MSI_EMMC_MIN_SIZE
ota_check_rollback /ota_work jetson-xavier-nx-devkit-emmc R32-7
Version crc32 is not found
Error happens in calling "version_crc32_verify /ota_work/version.txt"
boot_device_size=33554432
VER's offset is 33292288 and size is 65536
VER_b's offset is 33357824 and size is 65536
VER_b version: branch:32 revision:7.1 major.minor:7.1
VER version: branch:32 revision:7.1 major.minor:7.1
Version rollback is not permitted
ver_check_res=1
Failed to run "ota_check_rollback /ota_work jetson-xavier-nx-devkit-emmc R32-7"

and if I do a cat on /ota_work/version.txt

I get

NV4
# R35 , REVISION: 3.1
BOARDID=3668 BOARDSKU= FAB=301
20240717115715
0x230301
BYTES:81 CRC32:

Any idea of what might be wrong?

Hi luis21,

Are you using the devkit or custom board for Xavier NX?

Could you share the result of the following commands on your board?

$ cat /etc/nv_tegra_release
$ cat /etc/nv_boot_control.conf

Please also share the command you used to generate OTA package on the host.

Hello, thanks for the response

I took a closer look and it seems that the script was trying to use the python command to generate some crc32 on some files. This failed because on my system (clean instalation of Ubuntu 22.04) there was no python command only python3, even though it failed it didn’t complained at the end of the payload generation.

After installing python-is-python3 /ota_work/version.txt had a proper crc32 and the payload installed successfully on my target

do you mean that the issue gets fixed after you install python-is-python3?

1 Like

yes, because the image/payload generation part of the script was calling the python executable to calculate the crc32, but python was not a command, only python3. But after installing python-is-python3 then python resolves to python3 and it correctly calculates the crc32 and then the payload works.

Thanks for your sharing to WAR this issue.

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