Jetpack 5.1 Bootloader update using UEFI Capsule

I wanted to upgrade the Bootloader ona 5.1 installation, but the variable required according to the manual does not exist. Should we simply create it?

https://docs.nvidia.com/jetson/archives/r35.2.1/DeveloperGuide/text/SD/Bootloader/UpdateAndRedundancy.html?#manually-trigger-the-capsule-update

For devices with QSPI flash:

$ 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

There is a variable with another name, maybe it’s a typo?

ls /sys/firmware/efi/efivars/OsI*
/sys/firmware/efi/efivars/OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c

Hi Seeky15,

You could just use dd command to write into OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c as the guide w/o modifying the original OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c.

Hey @KevinFFF yeah, I was confused by the variable not existing. I tried it with the OsIndications now, but my system does ot attempt to perform any update. What could be causing this?

The nvbootcontrol gives me a status 0, so the update has not been attempted.

As the guide stated I copied the capsule generated with l4t_generate_soc_bup.sh and l4t_generate_soc_capsule-sh to the esp partition in a newly created folder UpdateCapsule and wrote the variable into OsIndications. Nothing happened.

On the host:

./l4t_generate_soc_bup.sh t19x
./generate_capsule/l4t_generate_soc_capsule.sh -i bootloader/payloads_t19x/bl_update_payload -o bootloader.capsule t194
scp bootloader.capsule  root@10.80.11.3:/mnt/esp/UpdateCapsule/

On the system:

cd /sys/firmware/efi/efivars/
printf "\x07\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00" > /tmp/var_tmp.bin
dd if=/tmp/var_tmp.bin of=OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c bs=12
sync
reboot

Would it work if you write into OsIndicationsSupported?

Nope, getting a write error when trying to write into OsIndicationsSupported, even if setting chattr -i