OTA Update to JetPack 4.4 DP fails - error processing package nvidia-l4t-bootloader

Hi NVidia Team

We are trying to update a customized Jetson AGX Xavier system from JetPack 4.3 to JetPack 4.4 DP with the following link:
https://docs.nvidia.com/jetson/jetpack/install-jetpack/index.html
We end up with the error

Setting up nvidia-l4t-bootloader (32.4.2-20200408182620) …
2888-400-0001-E.0-1-2-brla3-mmcblk0p1
Starting bootloader post-install procedure.
ERROR. Procedure for bootloader update FAILED.
Cannot install package. Exiting…
dpkg: error processing package nvidia-l4t-bootloader (–configure):
installed nvidia-l4t-bootloader package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
nvidia-l4t-bootloader
E: Sub-process /usr/bin/dpkg returned an error code (1)

The source file is changed as described:

cat /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
deb https://repo.download.nvidia.com/jetson/common r32.4 main
deb https://repo.download.nvidia.com/jetson/t194 r32.4 main

How can we solve this?
Thank you.

Hi,

Is this issue similar to yours?

Could you check if your hard disk is running out of space?

Add @Honey_Patouceul for visibility.

Hi WayneWWW

Our hard disk is not running out of space:

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p1 28768292 11010840 16273064 41% /

We are not sure if it is the same problem mentioned in the other thread. Before upgrading the system, we already see the following:

#dpkg-reconfigure nvidia-l4t-bootloader
Starting bootloader post-install procedure.
ERROR. Procedure for bootloader update FAILED.
Cannot install package. Exiting…

Do we miss something in the upgrade process or is already something wrong with our JetPack 4.3 Image?

Could you share your steps of OTA?

We do exactly the steps mentioned in https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide%2Fquick_start.html%23wwpID0EXHA

To upgrade to new minor release

  1. Open the apt source configuration file in a text editor, for example:
    $ sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
  2. Change the repository name and download URL in the deb commands.
    The original commands are:
    deb https://repo.download.nvidia.com/jetson/common r32 main
    deb https://repo.download.nvidia.com/jetson/ r32 main
    Where is identifies the platform’s processor:
    • t194 for Jetson AGX Xavier series or Jetson Xavier NX
    Change the repository name from r32 to r32.4, and to the appropriate processor name for your platform. If your platform is Jetson Xavier NX, for example:
    deb https://repo.download.nvidia.com/jetson/common r32.4 main
    deb https://repo.download.nvidia.com/jetson/t194 r32.4 main
  3. Save and close the source configuration file.
  4. Enter the commands:
    sudo apt update sudo apt dist-upgrade
    If apt prompts you to choose a configuration file, reply Y for yes (to use the NVIDIA updated version of the file).
  5. Reboot your Jetson device when the upgrade is finished.

Hi sevm89,

Before upgrade to new minor release, are you upgrade to a new point release first?

sudo apt-get update
sudo apt list --upgradable
sudo apt upgrade

Hi carolyuu

Yes i also tried the upgrade with previously doing the steps you mentioned, sadly without success.

Hi,

Please provide below info. Thanks!

  1. show me the /etc/nv_boot_control.conf
  2. attach the /opt/ota_package/bl_update_payload.log

Hi WayneWWW

As requested:

cat /etc/nv_boot_control.conf
TNSPEC 2888-400-0001-L.0-1-2-brla3-mmcblk0p1
COMPATIBLE_SPEC 2888-400-0001-E.0-1-2-brla3-mmcblk0p1
TEGRA_CHIPID 0x19
TEGRA_OTA_BOOT_DEVICE /dev/mmcblk0boot0
TEGRA_OTA_GPT_DEVICE /dev/mmcblk0boot1

cat /opt/ota_package/bl_update_payload.log
Nvidia A/B-Redundancy Update tool Version 1.2
current slot 0
Start updating slot 1
Tegra User Block Device: /dev/disk/by-partlabel
Tegra Boot Block Device: /dev/mmcblk0boot0
HEADER: MAGIC NVIDIA__BLOB__V2
HEX_VALUE 131072
BLOB_SIZE 76754384
HEADER_SIZE 48
NUMBER_OF_ELEMENTS 171
HEADER_TYPE 0
UNCOMP_SIZE 76754384
MB1_RATCHET_LV 0
MTS_RATCHET_LV 0
ROLLBACK_FUSE_LV 0
Device TN Spec: 2888-400-0001-L.0-1-2-brla3-mmcblk0p1
Device Compatible Spec: 2888-400-0001-E.0-1-2-brla3-mmcblk0p1
Can’t find matching TN Spec in OTA Blob!
OTA Blob update failed. Status: 3
/usr/sbin/nv_bootloader_payload_updater --no-dependent-partition failed.
Slot 1 update failed

So it seems to be an issue with our board name brla3? We did not change the bootloader.
Thank you.

Hi,

Yes, we think this is due to this board name.

We only support released name, such as “jetson-xavier”

Hi WayneWWW

Does that mean we just have to use the name “jetson-xavier” also for our customized carrier board while flashing or does it mean we are not able to do the OTA Upgrade with a custom board? In the adaption and bring-up guide it is described that we should use a different board name.
Thanks.

Hi,

Sorry about that. I was thinking you might read the adaptation guide so that using different board name.
Please use jetson-xavier at this moment. The adaptation guide does not consider the OTA case.

OTA is new feature in rel-32.3 release but adaptation guides have been there for almost years.

Hi WayneWWW
We flashed our system freshly with the JetPack 4.3 using the board name “jetson-xavier” and after we were able to do the upgrade to 4.4 until the message that the systems should be rebooted. After doing the reboot, we do not have anymore output on the display and we get error messages on the serial debug console:
log_upgrade.txt (31.3 KB)

What happens to customized config files (dtb, cfg,…) when doing an upgrade? Any other suggestions about what went wrong?
Thank you.

I ran into a similar issue upgrading my original Jetson Nano (a02?) to Jetpack 4.4, and googling the error brought me to this thread.
I had previously ran out of space on a 32 gigabyte micro sd card, so I booted with another micro sd card, put the original micro sd card in a usb sd card reader, and created an image of it onto a yet another usb micro sd card reader.
I copied the image to a windows computer and managed to write it onto a 64 gb micro sd card, then booted from it and expanded the main partition to fill the 64 gig micro sd card. I was using that for a month, when I decided to upgrade to Jetpack 4.4 today. (Edit: I have also been using a 128 GB usb key as storage for images from a raspbery pi camera. I don’t think any programs are installed on it. I also share a few directories on samba) I think I was on 4.3 before (I downloaded and flashed the latest image a couple months ago).
I was following this page first:
https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide%2Fquick_start.html%23wwpID0EVHA
I got the error when got to this instruction:
sudo apt dist-upgrade
I was going to finish off this page next, but now I’m afraid to reboot:
(forum won’t let new members post more than 3 urls)

There was an error at the bottom of this message that I’m copying up here:
/opt/ota_package/bl_update_payload.log
Error. Version number is corrupted. Exiting…

I assume that is the clue to rescuing this boot SD card.

Redoing the last few commands:

dylan@jetsonnano:~$ sudo gedit /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
[sudo] password for dylan:
deb https://repo.download.nvidia.com/jetson/common r32.4 main
deb https://repo.download.nvidia.com/jetson/t210 r32.4 main

dylan@jetsonnano:~$ sudo apt update
Get:1 file:/var/cuda-repo-10-0-local-10.0.326 InRelease
Ign:1 file:/var/cuda-repo-10-0-local-10.0.326 InRelease
Get:2 file:/var/visionworks-repo InRelease
Ign:2 file:/var/visionworks-repo InRelease
Get:3 file:/var/visionworks-sfm-repo InRelease
Ign:3 file:/var/visionworks-sfm-repo InRelease
Get:4 file:/var/visionworks-tracking-repo InRelease
Ign:4 file:/var/visionworks-tracking-repo InRelease
Get:5 file:/var/cuda-repo-10-0-local-10.0.326 Release [574 B]
Get:5 file:/var/cuda-repo-10-0-local-10.0.326 Release [574 B]
Get:6 file:/var/visionworks-repo Release [1,999 B]
Get:6 file:/var/visionworks-repo Release [1,999 B]
Get:7 file:/var/visionworks-sfm-repo Release [2,003 B]
Get:7 file:/var/visionworks-sfm-repo Release [2,003 B]
Get:8 file:/var/visionworks-tracking-repo Release [2,008 B]
Get:8 file:/var/visionworks-tracking-repo Release [2,008 B]
(forum won’t let new members post more than 3 urls)

(forum won’t let new members post more than 3 urls)
Fetched 917 kB in 4s (260 kB/s)
Reading package lists… Done
Building dependency tree
Reading state information… Done
All packages are up to date.

dylan@jetsonnano:~$ sudo apt list --upgradable
Listing… Done

dylan@jetsonnano:~$ sudo apt dist-upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following packages were automatically installed and are no longer required:
apt-clone archdetect-deb bogl-bterm busybox-static cryptsetup-bin dpkg-repack efibootmgr gir1.2-geocodeglib-1.0 gir1.2-timezonemap-1.0
gir1.2-xkl-1.0 grub-common kde-window-manager kinit kio kpackagetool5 kwin-common kwin-data kwin-x11 libdebian-installer4 libfwup1
libkdecorations2-5v5 libkdecorations2private5v5 libkf5activities5 libkf5attica5 libkf5completion-data libkf5completion5 libkf5declarative-data
libkf5declarative5 libkf5doctools5 libkf5globalaccel-data libkf5globalaccel5 libkf5globalaccelprivate5 libkf5idletime5 libkf5jobwidgets-data
libkf5jobwidgets5 libkf5kcmutils-data libkf5kcmutils5 libkf5kiocore5 libkf5kiontlm5 libkf5kiowidgets5 libkf5newstuff-data libkf5newstuff5
libkf5newstuffcore5 libkf5package-data libkf5package5 libkf5plasma5 libkf5quickaddons5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data
libkf5sonnetcore5 libkf5sonnetui5 libkf5textwidgets-data libkf5textwidgets5 libkf5waylandserver5 libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5
libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11 libkwinglutils11 libkwinxrenderutils11 libllvm8 libqgsttools-p1 libqt5designer5
libqt5help5 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediaquick-p5 libqt5multimediawidgets5 libqt5positioning5 libqt5quickwidgets5
libqt5sensors5 libqt5webchannel5 libqt5webkit5 libxcb-composite0 libxcb-cursor0 libxcb-damage0 os-prober python3-dbus.mainloop.pyqt5 python3-icu
python3-pam python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-sip qml-module-org-kde-kquickcontrolsaddons qml-module-qtmultimedia
qml-module-qtquick2 rdate tasksel tasksel-data
Use ‘sudo apt autoremove’ to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up nvidia-l4t-bootloader (32.4.2-20200408182156) …
3448-300—1–jetson-nano-qspi-sd-mmcblk0p1
Starting bootloader post-install procedure.
ERROR. Procedure for bootloader update FAILED.
Cannot install package. Exiting…
dpkg: error processing package nvidia-l4t-bootloader (–configure):
installed nvidia-l4t-bootloader package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
nvidia-l4t-bootloader
E: Sub-process /usr/bin/dpkg returned an error code (1)

dylan@jetsonnano:~$ sudo gedit /etc/nv_boot_control.conf
TNSPEC 3448-300—1-0-jetson-nano-qspi-sd-mmcblk0p1
COMPATIBLE_SPEC 3448-300—1–jetson-nano-qspi-sd-mmcblk0p1
TEGRA_CHIPID 0x21
TEGRA_OTA_BOOT_DEVICE /dev/mtdblock0
TEGRA_OTA_GPT_DEVICE /dev/mtdblock0

dylan@jetsonnano:~$ sudo gedit /opt/ota_package/bl_update_payload.log
Error. Version number is corrupted. Exiting…
BLOB PATH:
/opt/ota_package/t21x/bl_update_payload

SPEC: 3448-300—1-0-jetson-nano-qspi-sd-mmcblk0p1
Compatible SPEC: 3448-300—1–jetson-nano-qspi-sd-mmcblk0p1

[R]eading 65,536 bytes of /dev/mtdblock0 at offset 4,128,768
[R]eading 65,536 bytes of /dev/mtdblock0 at offset 4,128,768
[R]eading 65,536 bytes of /dev/mtdblock0 at offset 4,128,768
VER number: 0
[R]eading 65,536 bytes of /dev/mtdblock0 at offset 4,128,768
[R]eading 65,536 bytes of /dev/mtdblock0 at offset 4,063,232
VER_b number: 0
[R]eading 65,536 bytes of /dev/mtdblock0 at offset 4,063,232
blob ver number: 320402

Hi Dylan,

Would you mind posting your question on Nano forum board? We will check your issue there.

Hi WanyeWWW

Do you have any update for us?

Hi sevm89,

What happens to customized config files (dtb, cfg,…) when doing an upgrade? Any other suggestions about what went wrong?

Are you saying you trying to OTA jetpack4.4 with custom carrier board, reboot and system becomes abnormal?

If that is what you are doing, then I would say it is obviously expected. Our server definitely installs official dtb and cfg but not a customized one for your board.

Hi WanyeWWW

Yes that is what we are saying. In that case this means that OTA Update can only be used for the Developer Kit and not for any customized system? Or can we just exclude some parts of the Upgrade process which are customized?
I guess most devices out there with the Jetson AGX Xavier module are customized and i would think the OTA Upgrade should also be usable for these devices. We did not customize the kernel neither the bootloader, just the kernel-dtb file and the Configuration Files padvoltage and pinmux under JetPack_4.3_Linux_P2888\Linux_for_Tegra\bootloader\t186ref\BCT. How can we provide customers an Upgrade without the need to flash the system newly?
Thank you.

Hi,

We had similar questions from other customers too. The answer is simple. You have to prepare your own deb file for OTA.

Since the OTA method is based on debian package, you could modify the deb file from nv to your own and deliver.

I’m having the same problem with my TX2 on orbitty carrier board.
How can I change the board name?