Hello,
I am trying to generate OTA payload package. my Orin NX 16GB is flashed with Jetson linux 36.4.0, Now I want to upgrade it to 36.4.3 through OTA.
I am using a custom carrier board: p3509-a02-p3767-0000.
The script for OTA payload generation l4t_generate_ota_package.shdoesn’t recognize this custom board configuration, so I modified jetson-orin-nano-devkitso that it works with my custom board.
I have followed the steps as given by nvidia OTA update documents as below:
1. export BASE_BSP=/mnt/JetsonLinux/JTinux_36.4.0/Linux_for_Tegra
2. tar xpf jetson_linux_36.4.3_aarch64.tbz2
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../tegra_Linux_sample-root-filesystem_36.4.3_aarch64.tbz2
cd ..
sudo ./apply_binaries.sh
3. export TARGET_BSP=/home/username/R36.4.0/Linux_for_Tegra
4. cd ${TARGET_BSP}/../
sudo tar xpf ota_tools_36.4.3_aarch64.tbz2
5. cd ${TARGET_BSP}
sudo -E ROOTFS_AB=1 ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 jetson-orin-nano-devkit R36-4
However, process leads to failure.
*** Sign and generate BUP... ***
t23x payload generation complete with 5 failure(s)
SUCCESS: cleaned up BUP tmp files prior to payload creation
FAILURE: no payload made for config "boardid=3767;fab=000;boardsku=0000;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D3;board=jetson-orin-nano-devkit;rootdev=nvme0n1p1;bup_type=bl;signed_img_dir=images-R36-ToT"
FAILURE: no payload made for config "boardid=3767;fab=000;boardsku=0001;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D4;board=jetson-orin-nano-devkit;rootdev=nvme0n1p1;bup_type=bl;signed_img_dir=images-R36-ToT"
FAILURE: no payload made for config "boardid=3767;fab=000;boardsku=0003;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D5;board=jetson-orin-nano-devkit;rootdev=nvme0n1p1;bup_type=bl;signed_img_dir=images-R36-ToT"
FAILURE: no payload made for config "boardid=3767;fab=000;boardsku=0005;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D5;board=jetson-orin-nano-devkit;rootdev=nvme0n1p1;bup_type=bl;signed_img_dir=images-R36-ToT"
FAILURE: no payload made for config "boardid=3767;fab=000;boardsku=0004;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D6;board=jetson-orin-nano-devkit;rootdev=nvme0n1p1;bup_type=bl;signed_img_dir=images-R36-ToT"
SUCCESS: cleaned up BUP tmp files after payload creation
Failed to run ROOTFS_AB=1 ROOTFS_ENC= /mnt/JetsonLinux/JetsonMVP-AB-OTA/JTinux_36.4.3/Linux_for_Tegra/l4t_generate_soc_bup.sh -f /tmp/board_spec_file -e tmp_board_spec -b jetson-orin-nano-devkit t23x
No, actually I want to test OTA update, so that it helps updating later on to our other devices as well.
Yes, I am trying to generate OTA update payload, but unfortunately its not working.
Device with the R36.4.0 is rootfs A/B enabled. here is the command I used to flash with rootfs A/B and rootfs slots info.
Hi KevinFFF,
with the provided script to generate OTA payload, it doesn’t recognize any custom carrier board.
That is why, I have changed the configuration file of Jetson-orin-nano-devkit, so that it works with my board. which is p3509-a02-p3767-0000, as I mentioned.
The change has been tested for the flashing device and that works.
So, the question is why it’s failed to find the configuration during OTA payload generation.
We would suggest you using jetson-orin-nano-devkit as board config for both flashing and OTA update.
I’ve verified that command works on my host to generate the OTA payload.
Could you run that command in the BSP package downloaded from SDK manager instead?
Hi,
Thanks for your reply.
Yeah, Python3 has to be linked with python, I did that. The OTA scripts were not working on my Host PC for other reason, maybe because the scripts were running other than from /home/… dir, but I managed to do it from my other PC. Now its working fine.