OTA Updates R35.1.0


I am currently working on a Jetson Xavier NX with the following specs:

I would like to handle updates without changing L4T version (so, while staying on the R35.1) however, if I follow the steps here, step 6 fails:

I run:

sudo -E ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-xavier-nx-devkit-emmc R35-1

and I get:

Target board(JETSON_XAVIER_NX_DEVKIT_EMMC) and base version(R35_1) is not supported
Failed to run “ota_validate_params jetson-xavier-nx-devkit-emmc R35-1 internal /home/qsai/L4T/351clone_v2/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]
: target board. Supported boards: jetson-agx-xavier-devkit, jetson-xavier-nx-devkit-emmc.
: the version of the base BSP. Supported versions: R32-7.
-u : PKC key used for odm fused board
-v : Secure Boot Key (SBK) key used for ODM fused board
-s Skip generating system image
-b Update bootloader only. Only valid for update without layout change
-r Update rootfs only. Only valid for update without layout change
-o Specify the script to update rootfs partition
-f Specify the rootfs image to be written to rootfs partition
sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh -u PKCkeyfile -v SBKkeyfile jetson-xavier-nx-devkit-emmc R32-7

Looking here it seems like R35.1 is not supported for OTA updates but basically every other version is (both older and newer) which feels a little weird.

Is there a way to make this work (or some workaround for that)?
If not, what’s the newest L4T version that allows me to do those sort of updates (i.e. not L4T-changing updates)?

Thanks in advance!


What’s the purpose of doing so?

I would like to be able to deliver OS updates when needed (say new libs/drivers need to be installed on an OS that has been already delivered to the customer). If i understood correctly, step 6 will generate a file with the incremental updates which i can then send to the customer’s board (e.g. through Mender).

Isn’t that a valid use case? If not, how should I handle those sorts of updates?
Would the whole procedure work if I updated to a newer L4T? (e.g. R35.1 > 35.4)


Image-based OTA is not supported on 35.1.

I think YES.
For your use case, I’d say maybe building your own APT server and packaging stuff that needs updating into .deb packages is a better option.

I will try updating to R35.4 from R35.1, image-based OTA should be supported there, right? The error message I got (see first message) seems to suggest that only R32.7 is supported (which sounds a little weird actually). Will let you know shortly, thanks!

As for the APT server, unfortunately this is not an option because we would like to ideally have “offline” updates in the form of a file (with a custom extension) which contains the incremental updates. This file would then be loaded through a local web server which will run scripts under the hood to install the update correctly.

Also, I think that with the APT server we cannot really install low-level updates (e.g. dtb updates)

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