Update Bootloader for JetPack 6 fails

Hello,
i am running JetPack 5.1.2 booting from SSD Disk.
Now, i have tried to upgrade to JetPack6 according to this description:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/FlashingSupport.html#updating-jetson-orin-nano-devkit-from-jetpack-5-to-jetpack-6

I have upgraded to JetPack 5.1.3 according point 1 “Using a JetPack 5.1.1 SD card”.
This seems to work fine. There was an bootloader qspi update running during the necessary reboot.
nvbootctrl shows the correct version:

$ sudo nvbootctrl dump-slots-info
Current version: 35.5.0
Capsule update status: 1
Current bootloader slot: B
Active bootloader slot: B
num_slots: 2
slot: 0, status: normal
slot: 1, status: normal

The next command from point 2 fails:

$ sudo apt-get install nvidia-l4t-jetson-orin-nano-qspi-updater
[sudo] password for asimov:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages were automatically installed and are no longer required:
apt-clone archdetect-deb bogl-bterm busybox-static cryptsetup-bin dctrl-tools dpkg-repack gdal-data gir1.2-goa-1.0 gir1.2-timezonemap-1.0 gir1.2-xkl-1.0 grub-common libaec0 libarmadillo9 libarpack2
libavcodec-dev libavformat-dev libavresample-dev libavresample4 libavutil-dev libcfitsio8 libcharls2 libdap25 libdapclient6v5 libdc1394-22-dev libdebian-installer4 libepsilon1 libevent-core-2.1-7
libevent-pthreads-2.1-7 libexif-dev libfreexl1 libfwupdplugin1 libfyba0 libgdal26 libgdcm-dev libgdcm3.0 libgeos-3.8.0 libgeos-c1v5 libgeotiff5 libgl2ps1.4 libgphoto2-dev libhdf4-0-alt libhdf5-103
libhdf5-openmpi-103 libhwloc-plugins libhwloc15 libilmbase-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjsoncpp1 libkmlbase1 libkmldom1 libkmlengine1 liblept5 liblzma-dev
libminizip1 libnetcdf-c++4 libnetcdf15 libodbc1 libogdi4.1 libopencv-calib3d4.2 libopencv-contrib4.2 libopencv-dnn4.2 libopencv-features2d4.2 libopencv-flann4.2 libopencv-highgui4.2
libopencv-imgcodecs4.2 libopencv-imgproc4.2 libopencv-ml4.2 libopencv-objdetect4.2 libopencv-photo4.2 libopencv-shape4.2 libopencv-stitching4.2 libopencv-superres4.2 libopencv-video4.2
libopencv-videoio4.2 libopencv-videostab4.2 libopencv-viz4.2 libopencv4.2-java libopencv4.2-jni libopenexr-dev libopenmpi3 libpmix2 libpng-dev libpq5 libproj15 libqhull7 libraw1394-dev libsocket++1
libspatialite7 libsuperlu5 libswresample-dev libswscale-dev libsz2 libtbb-dev libtesseract4 libtiff-dev libtiffxx5 libtimezonemap-data libtimezonemap1 liburiparser1 libvtk6.3 libxerces-c3.2 libxmlb1
libxnvctrl0 odbcinst odbcinst1debian2 os-prober proj-data python3-icu python3-pam rdate tasksel tasksel-data
Use ‘sudo apt autoremove’ to remove them.
The following NEW packages will be installed:
nvidia-l4t-jetson-orin-nano-qspi-updater
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/8.939 kB of archives.
After this operation, 11,0 MB of additional disk space will be used.
debconf: delaying package configuration, since apt-utils is not installed
(Reading database … 146758 files and directories currently installed.)
Preparing to unpack …/nvidia-l4t-jetson-orin-nano-qspi-updater_36.3.0-20240424200557_arm64.deb …
3767–0005–1–jetson-orin-nano-devkit-
Info. Installing mtdblock.
Info. Active boot storage: nvme0n1
Info. Legacy mode: false
TNSPEC 3767-300-0005-K.2-1-1-jetson-orin-nano-devkit-
COMPATIBLE_SPEC 3767–0005–1–jetson-orin-nano-devkit-
TEGRA_LEGACY_UPDATE false
TEGRA_BOOT_STORAGE nvme0n1
TEGRA_EMMC_ONLY false
TEGRA_CHIPID 0x23
TEGRA_OTA_BOOT_DEVICE /dev/mtdblock0
TEGRA_OTA_GPT_DEVICE /dev/mtdblock0
Info: Write TegraPlatformCompatSpec with 3767–0005–1–jetson-orin-nano-devkit-.
ERROR. Filesystem is not mounted on SD card: /dev/nvme0n1p1
dpkg: error processing archive /var/cache/apt/archives/nvidia-l4t-jetson-orin-nano-qspi-updater_36.3.0-20240424200557_arm64.deb (–unpack):
new nvidia-l4t-jetson-orin-nano-qspi-updater package pre-installation script subprocess returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/nvidia-l4t-jetson-orin-nano-qspi-updater_36.3.0-20240424200557_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

I do not understand this line:
ERROR. Filesystem is not mounted on SD card: /dev/nvme0n1p1

/dev/nvme0n1p1 exists and is mounted at /.
Ofcourse, an mmc/SD-card is not present.

$ mount
/dev/nvme0n1p1 on / type ext4 (rw,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type devtmpfs (rw,relatime,size=3677224k,nr_inodes=919306,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=763012k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=28,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=763008k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)

many thanks,
matthias

You need to remove any NVMe disk or USB disk and boot from SD card when running this updater.
I think it’s stated very clearly.

When you are prompted to Press ESCAPE for boot options` *** from the landing page of the UEFI menu, navigate to Boot Manager to check the boot order. Make sure the UEFI SD Device is on the top of the list. If it is not, refer to Customizing the Default Boot Order in the UEFI Menu for more information about changing the boot order in the UEFI menu.

Hello DaveYYY,
yes, i have read this text but this is really really not clear.
The text noted, that the update is done via SD-Card and yes, the card must be the first in boot order.
But i want to do this via SSD Disk and i derive from the text, that than the SSD must be first in boot order.
There is nowhere statet: “Nvidia disallows the update of SSD devices to JetPack6.x”

But i want to try the (for me more complex) way via SD-Card anyhow as next. This was planned yesterday anyhow.

Best regards, Matthias.

Statement: I want to note here, that the problem is not solved. It is because of a “leak of functionality” of the Nvidia booltloader update mechanism or political reason of Nvidia.
I cant see any reason for not updating the bootloader from SSD as far as i understand the description andd function of the underlying process.
This is not to annoy you. It is to help developers to improve the system in the way, that the users need. Many thank.

P.S.: I will report, if the SDCard way has worked.

I have tested the way via SD Card. It works.
I need to flash from external linux toIget back to JetPack 5.1.2.
Is there a tool in JP6.0 to rewrite the QSPI back to an JP5.1.x compatible version?

There is another thing.
With JP6.0, writing to the terminal is very slow. It takes time for the letters to appear on the screen. This does not happen with JP5.1.2/3.
We had this with Jetson Nano (without orin) and firmware image from “Seeed”.
The effect was gone by using Nvidia image. Now it is back with Orin and JP6.0 …
It does not happen within the framebuffer console!

Should i open a new thread?

NO.

The strict on using SD card is because we only provide images for SD card, which can be flashed with Etcher or any other similar tools on Windows/Mac/Linux. If you use an NVMe SSD, then you should have a Ubuntu PC for flashing the entire device because there is no pre-formatted image.

YES.

Opened new topic for the slow terminal.

OK, i mark this as solution and close the topic.
Thanks for the information.

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