Can't install Single-Spec BUP on Orin NX

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:

  1. 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

  2. scp files from system to Orin home directory

  3. SSH into Orin NX and move the payloads to the proper directory:
    a. sudo mv payloads_t23x/ /opt/ota_package/t23x

  4. 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?

Sorry for the late response, have you managed to get issue resolved or still need the support? Thanks

Previously you didn’t use the same board config to flash this board.

Warning: Cannot get compatible board name.
3767–0000–1–monarch_e5000_revC-

But now you are using p3509-a02+p3767-000 as your board name.

That is why a mismatch is coming.

@WayneWWW this only shows as a warning, but is this the reason that the Forced bootloader update is failed? Why would a warning cause this to fail?

Do these messages have nothing to do with the issue?

Get SPI boot device size failed  
Publish block device failed  

Hi lphilips,

You could refer to the Update and Redundancy — Jetson Linux Developer Guide documentation (nvidia.com) for bootloader update.

The method you are using is called Update Engine, which is available before R35.2.

Please use Capsule Update Payload instead if you are using R35.2.

2 Likes

Ah ok understood. I am using L4T 35.2.1, for some reason I thought either method would work on rel 35.2 and above but I guess I was wrong.

I had tried the Capsule Update Payload method first but I wasn’t able to get the Capsule update status to be anything except “0 - No Capsule update”.

Thanks for this information, I will try the Capsule Update Payload again.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.