I can successfully updated the bootloader using a Capsule payload generated using target board name ‘jetson-orin-nano-devkit’. However, when I generating the Capsule payload using custom .conf file (target board name), i.e. jetson-orin-nano-devkit-custom, and trigger the capsule payload update, the bootloader does not perform the update after reboot like it does when I generate the Capsule payload using the default ‘jetson-orin-nano-devkit’ target board config.
The bootloader appear to delete the TEGRA_BL.Cap file from EFI partition (EFI/UpdateCapsule/TEGRA_BL.Cap), like it does when it successfully performs the update, but the bootloader never actually performs the update when generating the Capsule payload using a custom target board name and .conf file. Performing a full flash of the system using l4t_initrd_flash.sh and jetson-orin-nano-devkit-custom.conf works fine, it is only the Capsule update I’m having issues with when using a custom target board config.
Here are the commands I’m using to generate the Capsule payload.
sudo FAB=300 BOARDID=3767 BOARDSKU=0000 FUSELEVEL=fuselevel_production CHIP_SKU=00:00:00:D3 ./build_l4t_bup.sh --bup-type bl jetson-orin-nano-devkit-custom nvme0n1p1
./generate_capsule/l4t_generate_soc_capsule.sh -i bootloader/payloads_t23x/bl_only_payload -o ./TEGRA_BL.Cap t234
Commands I’m using to perform the Capsule update.
sudo mount /dev/nvme0n1p10 /mnt
sudo cp TEGRA_BL.Cap /mnt/EFI/UpdateCapsule/TEGRA_BL.Cap
cd /sys/firmware/efi/efivars/
printf "\x07\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00" > /tmp/var_tmp.bin
sudo dd if=/tmp/var_tmp.bin of=OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c bs=12
sudo reboot
I’ve observe that the update progress bar never shows up in the bootloader after reboot when attempting to perform an update using Capsule payload generated with my custom config. Also, nvbootctrl reports a Capsule update status of 0, indicating that the update was not successful.