Hello,
For production we are using orin nx but after struggling to perform a capsule update with secure boot using 35.6.2 and as we were told in those forums that this is supported for agx orin devkit, we decided to use stock material provided by Nvidia, but we still canβt perform a capsule update.
Our environment:
stock BSP 35.6.2 provided by Nvidia
jetson ags orin devkit fuse for secure boot with a combo of pkc.pem and sbk.key.
Here is all the commands we made following various recommendations provided by Nvidia.
[HOST]
Deploy package
tar xpf Jetson_Linux_R35.6.2_aarch64.tbz2
tar xpf ota_tools_R35.6.1_aarch64.tbz2
cd Linux_for_Tegra/rootfs
sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R35.6.2_aarch64.tbz2
cd ..
sudo ./apply_binaries.sh
Flash
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs -p β-c bootloader/t186ref/cfg/flash_t234_qspi.xmlβ --no-flash --network usb0 -u pkc.pem -v sbk.key jetson-agx-orin-devkit internal
sudo ROOTFS_AB=1 ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --no-flash --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_t234_nvme_rootfs_ab.xml --external-only --append --network usb0 -u pkc.pem -v sbk.key jetson-agx-orin-devkit external
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --network usb0 --flash-only
capsule
sudo ./l4t_generate_soc_bup.sh -u pkc.pem -v sbk.key -e t23x_agx_bl_spec t23x
BLOB HEADER:
Magic: NVIDIA__BLOB__V3
Version: v3.1-2022.6-0 (0x01030622)
Blob Size: 41,089,782 bytes
Header Size: 48 bytes
Entry Count: 103 partition(s)
Type: 0 (0 for update, 1 for BMP)
Uncompressed
Blob Size: 41,089,782 bytes
Accessory: 0x0000000000000000
ENTRY TABLE:
| part_name | offset | part_size | version | op_mode | tnspec |
| BCT | 19000 | 8192 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| BCT | 27192 | 8192 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| BCT | 35384 | 8192 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| BCT | 43576 | 8192 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| BCT | 51768 | 8192 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| BCT | 59960 | 8192 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| BCT_A | 68152 | 8192 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| BCT_A | 76344 | 8192 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| BCT_A | 84536 | 8192 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| BCT_A | 92728 | 8192 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| BCT_A | 100920 | 8192 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| BCT_A | 109112 | 8192 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| BCT_B | 117304 | 8192 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| BCT_B | 125496 | 8192 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| BCT_B | 133688 | 8192 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| BCT_B | 141880 | 8192 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| BCT_B | 150072 | 8192 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| BCT_B | 158264 | 8192 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| BCT-boot-chain_backup | 166456 | 32768 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| BCT-boot-chain_backup | 199224 | 32768 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| BCT-boot-chain_backup | 231992 | 32768 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| BCT-boot-chain_backup | 264760 | 32768 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| BCT-boot-chain_backup | 297528 | 32768 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| BCT-boot-chain_backup | 330296 | 32768 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| mb1 | 363064 | 282768 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| mb1 | 645832 | 282768 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| mb1 | 928600 | 282768 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| mb1 | 1211368 | 282768 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| mb1 | 1494136 | 282768 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| mb1 | 1776904 | 282768 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| psc_bl1 | 2059672 | 139264 | 3562 | 2 | |
| MB1_BCT | 2198936 | 18384 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| MB1_BCT | 2217320 | 18384 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| MB1_BCT | 2235704 | 18480 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| MB1_BCT | 2254184 | 18480 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| MB1_BCT | 2272664 | 18480 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| MB1_BCT | 2291144 | 18480 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| MEM_BCT | 2309624 | 243712 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| MEM_BCT | 2553336 | 243712 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| MEM_BCT | 2797048 | 243712 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| MEM_BCT | 3040760 | 243712 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| MEM_BCT | 3284472 | 243712 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| MEM_BCT | 3528184 | 243712 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| nvdec | 3771896 | 294912 | 3562 | 2 | |
| mb2 | 4066808 | 437264 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| mb2 | 4504072 | 437264 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| mb2 | 4941336 | 437264 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| mb2 | 5378600 | 437264 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| mb2 | 5815864 | 437264 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| mb2 | 6253128 | 437264 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| bpmp-fw | 6690392 | 1027008 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| bpmp-fw | 7717400 | 1027008 | 3562 | 2 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| bpmp-fw | 8744408 | 1027008 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| bpmp-fw | 9771416 | 1027008 | 3562 | 2 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| bpmp-fw | 10798424 | 1027008 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| bpmp-fw | 11825432 | 1027008 | 3562 | 2 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| bpmp-fw-dtb | 12852440 | 379840 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| bpmp-fw-dtb | 13232280 | 379840 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| bpmp-fw-dtb | 13612120 | 379840 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| bpmp-fw-dtb | 13991960 | 379840 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| bpmp-fw-dtb | 14371800 | 260032 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| bpmp-fw-dtb | 14631832 | 260032 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| psc-fw | 14891864 | 375168 | 3562 | 2 | |
| mts-mce | 15267032 | 190592 | 3562 | 2 | |
| sc7 | 15457624 | 186880 | 3562 | 2 | |
| pscrf | 15644504 | 139264 | 3562 | 2 | |
| mb2rf | 15783768 | 122048 | 3562 | 0 | |
| cpu-bootloader | 15905816 | 2960288 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| cpu-bootloader | 18866104 | 2960288 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| cpu-bootloader | 21826392 | 2960288 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| cpu-bootloader | 24786680 | 2960288 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| cpu-bootloader | 27746968 | 2960288 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| cpu-bootloader | 30707256 | 2960288 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| secure-os | 33667544 | 1288096 | 3562 | 0 | |
| eks | 34955640 | 9232 | 3562 | 0 | |
| dce-fw | 34964872 | 757568 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| dce-fw | 35722440 | 757568 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| dce-fw | 36480008 | 757552 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| dce-fw | 37237560 | 757552 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| dce-fw | 37995112 | 757552 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| dce-fw | 38752664 | 757552 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| spe-fw | 39510216 | 270336 | 3562 | 0 | |
| rce-fw | 39780552 | 540000 | 3562 | 0 | |
| adsp-fw | 40320552 | 400960 | 3562 | 0 | |
| VER | 40721512 | 109 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| VER | 40721621 | 109 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| VER | 40721730 | 109 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| VER | 40721839 | 109 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| VER | 40721948 | 109 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| VER | 40722057 | 109 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| xusb-fw | 40722166 | 164864 | 3562 | 2 | |
| secondary_gpt | 40887030 | 16896 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| secondary_gpt | 40903926 | 16896 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| secondary_gpt | 40920822 | 16896 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| secondary_gpt | 40937718 | 16896 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| secondary_gpt | 40954614 | 16896 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| secondary_gpt | 40971510 | 16896 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
| secondary_gpt_backup | 40988406 | 16896 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit-maxn- |
| secondary_gpt_backup | 41005302 | 16896 | 3562 | 0 | 3701-300-0000β1-0-jetson-agx-orin-devkit- |
| secondary_gpt_backup | 41022198 | 16896 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit-maxn- |
| secondary_gpt_backup | 41039094 | 16896 | 3562 | 0 | 3701-300-0004β1-0-jetson-agx-orin-devkit- |
| secondary_gpt_backup | 41055990 | 16896 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit-maxn- |
| secondary_gpt_backup | 41072886 | 16896 | 3562 | 0 | 3701-300-0005β1-0-jetson-agx-orin-devkit- |
SUCCESS: contents of the BUP
./generate_capsule/l4t_generate_soc_capsule.sh -i bootloader/payloads_t23x/bl_only_payload -o ./TEGRA_BL.Cap t234
Warning. The signer private certificate is not set, the test certificate TestCert.pem is used!
Warning. The other public certificate is not set, the test certificate TestSub.pub.pem is used!
Warning. The trusted public certificate is not set, the test certificate TestRoot.pub.pem is used!
Read binary input file bootloader/payloads_t23x/bl_only_payload
FMP_PAYLOAD_HEADER.Signature = 3153534D (MSS1)
FMP_PAYLOAD_HEADER.HeaderSize = 00000010
FMP_PAYLOAD_HEADER.FwVersion = 00230602
FMP_PAYLOAD_HEADER.LowestSupportedVersion = 00230602
sizeof (Payload) = 0272FAF6
βopensslβ smime -sign -binary -outform DER -md sha256 -signer β/home/sebastien/Downloads/Linux_for_Tegra/generate_capsule/Pkcs7Sign/TestCert.pemβ -certfile β/home/sebastien/Downloads/Linux_for_Tegra/generate_capsule/Pkcs7Sign/TestSub.pub.pemβ
EFI_FIRMWARE_IMAGE_AUTHENTICATION.MonotonicCount = 0000000000000001
EFI_FIRMWARE_IMAGE_AUTHENTICATION.AuthInfo.Hdr.dwLength = 00000AED
EFI_FIRMWARE_IMAGE_AUTHENTICATION.AuthInfo.Hdr.wRevision = 0200
EFI_FIRMWARE_IMAGE_AUTHENTICATION.AuthInfo.Hdr.wCertificateType = 0EF1
EFI_FIRMWARE_IMAGE_AUTHENTICATION.AuthInfo.CertType = 4AAFD29D-68DF-49EE-8AA9-347D375665A7
sizeof (EFI_FIRMWARE_IMAGE_AUTHENTICATION.AuthInfo.CertData) = 00000AD5
sizeof (Payload) = 0272FB06
EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER.Version = 00000001
EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER.EmbeddedDriverCount = 00000000
EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER.PayloadItemCount = 00000001
EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER.ItemOffsetList =
0000000000000010
EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.Version = 00000003
EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.UpdateImageTypeId = BF0D4599-20D4-414E-B2C5-3595B1CDA402
EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.UpdateImageIndex = 00000001
EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.UpdateImageSize = 027305FB
EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.UpdateVendorCodeSize = 00000000
EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.UpdateHardwareInstance = 0000000000000000
EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.ImageCapsuleSupport = 0000000000000001
sizeof (Payload) = 027305FB
sizeof (VendorCodeBytes) = 00000000
EFI_CAPSULE_HEADER.CapsuleGuid = 6DCBD5ED-E82D-4C44-BDA1-7194199AD92A
EFI_CAPSULE_HEADER.HeaderSize = 00000020
EFI_CAPSULE_HEADER.Flags = 00000000
OEM Flags = 0000
EFI_CAPSULE_HEADER.CapsuleImageSize = 0273065B
sizeof (Payload) = 0273063B
Write binary output file ./TEGRA_BL.Cap
Success
[Target]
Copy capsule into esp partition on target
ll /dev/disk/by-partlabel/esp
sudo mount /dev/nvme0n1p12 /mnt/esp
sudo mkdir -p /mnt/esp/EFI/UpdateCapsule
$ sudo cp ${HOME}/TEGRA_BL.Cap /mnt/esp/EFI/UpdateCapsule/
With QSPI flash:
sudo su
printf β\x07\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00β > /tmp/var_tmp.bin
cd /sys/firmware/efi/efivars/
dd if=/tmp/var_tmp.bin of=OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c bs=12
reboot
Capsule update not performed!!!
Could you please reproduce this using the EXACT same environment:
35.6.2 on a fused for secure boot jetson agx orin devit.
Provide relevant logs
If you made some changes in the above workflow, provide us with the exact 1:1 commands, with clear indication to understand where/why it fails.
If we do not get clear description we are going to escalate this issue with our and Nvidia management as we order in the thousands of orin nx each year and are now stucked on this issue for long enough.
Also it is possible that when I write something you configure my account so that the sub-par LLM carolyuu is not generating meaningless replies.
Thank you,
Regards