I am trying to create a Bootloader Update Payload to bring our Orin NX device back to an un-modified “stock” JetPack 5.1 bootloader.
This device has been flashed with our custom carrier board configuration file which also has custom pinmux, I would like to use the Single-Spec BUP to reset the firmware binaries and BCT images back to an unmodified state.
I followed the following instructions to generate single-spec BUP with Orin NX:
-
Go into Linux_for_Tegra directory and run the following command:
a.sudo FAB=000 BOARDID=3767 FUSELEVEL=fuselevel_production BOARDSKU=0000 ./build_l4t_bup.sh p3509-a02+p3767-0000 mmcblk0p1
-
scp files from system to Orin home directory
-
SSH into Orin NX and move the payloads to the proper directory:
a.sudo mv payloads_t23x/ /opt/ota_package/t23x
-
Install the payload with nv_update_engine:
a.nv_update_engine --forced-install
I then try to install this BUP on an Orin NX that has been flashed with our custom board configuration, when I run the forced install command I get the following output on the Orin NX with l4t 35.2.1 Jetpack 5.1:
x3@x3-base-march-1:/opt/ota_package/t23x$ sudo su
root@x3-base-march-1:/opt/ota_ackage/t23x$ nv_update_engine --forced-install
Nvidia A/B-Redundancy Update tool Version 2.2
Start running: /usr/sbin/nv_bootloder_payload_updater --forced-bl-update /opt/ota_package/bl_update_payload
Start running: /opt/nvidia/l4t-bootoader-config/nv-l4t-bootloader-config.sh -c
Warning: Cannot get compatible board name.
3767--0000--1--monarch_e5000_revC-
Got update payload: /opt/ota_package/bl_update_payload
Tegra User Block Device: /dev/disk/by-partlabel
Tegra Boot Block Device: /dev/mtdblock0
Tegra GPT Block Device: /dev/mtdblock0
Get SPI boot device size failed
Publish block device failed
/usr/sbin/nv_bootloader_payload_pdater --forced-bl-update Failed.
Forced bootloader update is failed
Why is this process failing? What can I do to fix this?