Could not find coressponding fab to my jetson-agx-orin-devkit with ota_board_specs.conf for 35.6.2

Hello,

As ota generation takes too long (> 1H), I want to remove the generation of boards that I do not want to support. After calling:

sudo ./nvautoflash.sh --print-boardid -u pkc.pem -v sbk.key

I can retrieve some information despite the script crashing miserably a split second after.

Here is it:

Chip SKU(00:00:00:D0) ramcode(00:00:00:00)
Parsing module EEPROM:
— Parsing board ID (3701) succeeded.
— Parsing board version (500) succeeded.
— Parsing board SKU (0000) succeeded.
— Parsing board REV (J.0) succeeded.
jetson-agx-orin-devkit found.

However there is only fab=000 and fab=300 in the ota_board_specs.conf (this is for 35.6.2).. So which one is matching 500? Is there some table that describe the mapping?

Also why there are some arrays for agx orin that are never referenced in the .conf file?

Most scripts in jetson are very unstable so removing dead code would help when we have to inspect / fix them.

Please only reply if you can assist in a worthwhile manner, especially carolyuu.

Thanks

hello sebastien.schertenleib,

please refer to.. $OUT/Linux_for_Tegra/tools/ota_tools/version_upgrade/ota_board_specs.conf
for AGX Orin,
there’re different SKUs (0000 to 0005), different storage (internal eMMC or external NVMe), different chipsku (D0 or D2).
it’ll create those multiple spec OTA payloads by default.

jetson_agx_orin_devkit_ota_emmc_r35_spec=(
'boardid=3701;fab=000;boardsku=0000;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D0;board=jetson-agx-orin-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R35-ToT'
'boardid=3701;fab=000;boardsku=0000;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D0;board=jetson-agx-orin-devkit;rootdev=nvme0n1p1;signed_img_dir=images-R35-ToT'
'boardid=3701;fab=300;boardsku=0000;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D0;board=jetson-agx-orin-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R35-ToT'
# External device
'boardid=3701;fab=300;boardsku=0000;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D0;board=jetson-agx-orin-devkit;rootdev=nvme0n1p1;signed_img_dir=images-R35-ToT'
'boardid=3701;fab=300;boardsku=0004;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D2;board=jetson-agx-orin-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R35-ToT'
# External device
'boardid=3701;fab=300;boardsku=0004;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D2;board=jetson-agx-orin-devkit;rootdev=nvme0n1p1;signed_img_dir=images-R35-ToT'
# jetson-agx-orin-devkit 64GB
'boardid=3701;fab=300;boardsku=0005;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D0;board=jetson-agx-orin-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R35-ToT'
# External device
'boardid=3701;fab=300;boardsku=0005;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D0;board=jetson-agx-orin-devkit;rootdev=nvme0n1p1;signed_img_dir=images-R35-ToT'

please revise ota_board_specs.conf if you have single board spec would like to perform OTA update.
here’s an example, I’ve tried to leave only single board spec for creating OTA payload.

$ sudo -E ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh jetson-agx-orin-devkit R35-6

ROOTFS_ENC= ROOTFS_AB= SKIP_REC_IMG=0 BOARDID=3701 FAB=300 BOARDSKU=0005 BOARDREV= FUSELEVEL=fuselevel_production CHIP_SKU=00:00:00:D0  /home/jerry/nvidia/nvidia_sdk/JetPack_5.1.4_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/flash.sh --no-flash --sign  jetson-agx-orin-devkit mmcblk0p1

###############################################################################
# L4T BSP Information:
# R35 , REVISION: 6.0
# User release: 0.0
###############################################################################
Board ID(3701) version(300) sku(0005) revision()
Chip SKU(00:00:00:D0) ramcode() fuselevel(fuselevel_production) board_FAB(300)
Copy /home/jerry/nvidia/nvidia_sdk/JetPack_5.1.4_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/kernel/dtb/tegra234-p3701-0005-p3737-0000.dtb to /home/jerry/nvidia/nvidia_sdk/JetPack_5.1.4_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/kernel/dtb/tegra234-p3701-0005-p3737-0000.dtb.rec
copying
...
SUCCESS: generate binaries for OTA "boardid=3701;fab=300;boardsku=0005;boardrev=;fuselevel_s=1;chiprev=;chipsku=00:00:00:D0;board=jetson-agx-orin-devkit;rootdev=mmcblk0p1;signed_img_dir=images-R35-ToT"

./internal_device/
./internal_device/system.img.sha1sum
./internal_device/system.img
./internal_device/images-R35-ToT/
./internal_device/images-R35-ToT/3701--0005-/
./internal_device/images-R35-ToT/3701--0005-/recovery.img
./internal_device/images-R35-ToT/3701--0005-/kernel_tegra234-p3701-0005-p3737-0000.dtb
./internal_device/images-R35-ToT/3701--0005-/tegra234-p3701-0005-p3737-0000.dtb.rec
./internal_device/images-R35-ToT/3701--0005-/boot.img
./internal_device/images-R35-ToT/3701--0005-/flash.idx
./ota_backup_files_list.txt

Is this still an issue to support? Any result can be shared?

No this is resolved thanks. I end-up patching the file to keep only those two variant including internal flavor even unused as otherwise ota file would be generated but update on the board would fail.

Thanks for your update.