HI @DaveYYY,
Thanks for the reply, we will continue to look into image-based OTA.
I am currently trying to understand the errors that we see in the update process.
After following the commands to update to a new minor release (located here), we have the dpkg errors that were seen in the original post of this topic
dpkg: error processing package nvidia-l4t-kernel-dtbs (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
nvidia-l4t-kernel
nvidia-l4t-kernel-headers
nvidia-l4t-jetson-io
nvidia-l4t-display-kernel
nvidia-l4t-kernel-dtbs
E: Sub-process /usr/bin/dpkg returned an error code (1)
However, running cat /etc/nv_tegra_release
shows the following output:
# R35 (release), REVISION: 4.1, GCID: 33958178, BOARD: t186ref, EABI: aarch64, DATE: Tue Aug 1 19:57:35 UTC 2023
And running uname -r
gives the following output:
5.10.120-tegra
This all points to the system being updated to L4T 35.4.1 and JetPack 5.1.2.
Is there any way we can fix the dependency problems that are outlined in the full error excerpt below?
Reading package lists... Done
Building dependency tree
Reading state information... Done
htop is already the newest version (2.2.0-2build1).
The following packages were automatically installed and are no longer required:
fltk1.3-doc fluid fonts-lato freeglut3-dev gazebo11 gazebo11-common gazebo11-plugin-base gir1.2-goa-1.0 gir1.2-gst-plugins-bad-1.0 hddtemp ignition-tools libassimp-dev libassimp5 libavdevice-dev libavfilter-dev libbullet-dev libbullet2.88 libccd-dev libccd2
libdart-collision-bullet-dev libdart-collision-ode-dev libdart-dev libdart-external-ikfast-dev libdart-external-odelcpsolver-dev libdart-utils-dev libdart-utils-urdf-dev libdart6 libdart6-collision-bullet libdart6-collision-ode libdart6-external-odelcpsolver libdart6-utils
libdart6-utils-urdf libexif-dev libfcl-dev libfcl0.5 libfltk-cairo1.3 libfltk-forms1.3 libfltk-gl1.3 libfltk-images1.3 libfltk1.3 libfltk1.3-dev libfreeimage-dev libfreeimage3 libfwupdplugin1 libgazebo11 libgazebo11-dev libgdcm-dev libgphoto2-dev libgts-dev
libignition-cmake2-dev libignition-common3 libignition-common3-av libignition-common3-av-dev libignition-common3-core-dev libignition-common3-dev libignition-common3-events libignition-common3-events-dev libignition-common3-graphics libignition-common3-graphics-dev
libignition-common3-profiler libignition-common3-profiler-dev libignition-fuel-tools4 libignition-fuel-tools4-dev libignition-math6 libignition-math6-dev libignition-msgs5 libignition-msgs5-dev libignition-tools-dev libignition-transport8 libignition-transport8-core-dev
libignition-transport8-dev libignition-transport8-log libignition-transport8-log-dev libilmbase-dev libjxr0 libnorm-dev liboctomap-dev liboctomap1.9 libode-dev libode8 libogre-1.9-dev libogre-1.9.0v5 libopenexr-dev libpgm-dev libprotoc-dev libpyside2-dev libpyside2-py3-5.14
libqwt-qt5-6 libqwt-qt5-dev libruby2.7 libsdformat9 libsdformat9-dev libshiboken2-dev libshiboken2-py3-5.14 libsimbody-dev libsimbody3.6 libsodium-dev libspnav0 libtar-dev libtar0 libtinyxml-dev liburdfdom-dev liburdfdom-headers-dev liburdfdom-model liburdfdom-model-state
liburdfdom-sensor liburdfdom-world libxmlb1 libxmu-dev libxmu-headers libyaml-dev libzip-dev libzip5 libzmq3-dev libzzip-0-13 nsight-systems-2022.5.2 pyqt5-dev python3-opengl python3-pyqt5.qtopengl python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-pyside2.qtcore
python3-pyside2.qtgui python3-pyside2.qtsvg python3-pyside2.qtwidgets python3-sip-dev rake ros-noetic-actionlib-tutorials ros-noetic-angles ros-noetic-bond-core ros-noetic-camera-calibration ros-noetic-camera-info-manager ros-noetic-cmake-modules ros-noetic-common-msgs
ros-noetic-common-tutorials ros-noetic-compressed-image-transport ros-noetic-control-msgs ros-noetic-control-toolbox ros-noetic-controller-interface ros-noetic-controller-manager ros-noetic-controller-manager-msgs ros-noetic-depth-image-proc ros-noetic-desktop
ros-noetic-diagnostic-analysis ros-noetic-diagnostic-common-diagnostics ros-noetic-diagnostics ros-noetic-diff-drive-controller ros-noetic-executive-smach ros-noetic-filters ros-noetic-forward-command-controller ros-noetic-gazebo-dev ros-noetic-gazebo-msgs
ros-noetic-gazebo-plugins ros-noetic-gazebo-ros ros-noetic-gazebo-ros-control ros-noetic-gazebo-ros-pkgs ros-noetic-geometry ros-noetic-geometry-tutorials ros-noetic-gl-dependency ros-noetic-hardware-interface ros-noetic-image-common ros-noetic-image-pipeline
ros-noetic-image-proc ros-noetic-image-publisher ros-noetic-image-rotate ros-noetic-interactive-marker-tutorials ros-noetic-interactive-markers ros-noetic-joint-limits-interface ros-noetic-joint-state-controller ros-noetic-joint-state-publisher
ros-noetic-joint-state-publisher-gui ros-noetic-kdl-parser ros-noetic-laser-assembler ros-noetic-laser-filters ros-noetic-laser-geometry ros-noetic-laser-pipeline ros-noetic-librviz-tutorial ros-noetic-map-msgs ros-noetic-media-export ros-noetic-mk ros-noetic-nodelet-core
ros-noetic-nodelet-tutorial-math ros-noetic-perception-pcl ros-noetic-pluginlib-tutorials ros-noetic-polled-camera ros-noetic-position-controllers ros-noetic-python-qt-binding ros-noetic-qt-dotgraph ros-noetic-qt-gui ros-noetic-qt-gui-cpp ros-noetic-qt-gui-py-common
ros-noetic-qwt-dependency ros-noetic-realtime-tools ros-noetic-robot ros-noetic-robot-state-publisher ros-noetic-ros ros-noetic-ros-base ros-noetic-ros-comm ros-noetic-ros-core ros-noetic-ros-tutorials ros-noetic-rosbag-migration-rule ros-noetic-rosbash ros-noetic-rosboost-cfg
ros-noetic-roscpp-core ros-noetic-roscpp-tutorials ros-noetic-roscreate ros-noetic-roslang ros-noetic-roslint ros-noetic-roslisp ros-noetic-rosmake ros-noetic-rospy-tutorials ros-noetic-rqt-action ros-noetic-rqt-bag ros-noetic-rqt-bag-plugins ros-noetic-rqt-common-plugins
ros-noetic-rqt-console ros-noetic-rqt-dep ros-noetic-rqt-graph ros-noetic-rqt-gui ros-noetic-rqt-gui-cpp ros-noetic-rqt-gui-py ros-noetic-rqt-image-view ros-noetic-rqt-launch ros-noetic-rqt-logger-level ros-noetic-rqt-moveit ros-noetic-rqt-msg ros-noetic-rqt-nav-view
ros-noetic-rqt-plot ros-noetic-rqt-pose-view ros-noetic-rqt-publisher ros-noetic-rqt-py-common ros-noetic-rqt-py-console ros-noetic-rqt-reconfigure ros-noetic-rqt-robot-dashboard ros-noetic-rqt-robot-monitor ros-noetic-rqt-robot-plugins ros-noetic-rqt-robot-steering
ros-noetic-rqt-runtime-monitor ros-noetic-rqt-rviz ros-noetic-rqt-service-caller ros-noetic-rqt-shell ros-noetic-rqt-srv ros-noetic-rqt-tf-tree ros-noetic-rqt-top ros-noetic-rqt-topic ros-noetic-rqt-web ros-noetic-rviz ros-noetic-rviz-plugin-tutorials
ros-noetic-rviz-python-tutorial ros-noetic-self-test ros-noetic-shape-msgs ros-noetic-simulators ros-noetic-smach ros-noetic-smach-msgs ros-noetic-smach-ros ros-noetic-stage ros-noetic-stage-ros ros-noetic-stereo-image-proc ros-noetic-stereo-msgs ros-noetic-tf2-kdl
ros-noetic-trajectory-msgs ros-noetic-transmission-interface ros-noetic-turtle-actionlib ros-noetic-turtle-tf ros-noetic-turtle-tf2 ros-noetic-turtlesim ros-noetic-urdf ros-noetic-urdf-parser-plugin ros-noetic-urdf-sim-tutorial ros-noetic-urdf-tutorial ros-noetic-vision-opencv
ros-noetic-visualization-marker-tutorials ros-noetic-visualization-tutorials ros-noetic-viz ros-noetic-webkit-dependency ros-noetic-xacro ruby ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit ruby-xmlrpc ruby2.7 rubygems-integration sbcl sdformat9-sdf shiboken2
sip-dev ttf-dejavu-core
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
5 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-kernel (5.10.120-tegra-35.4.1-20230801124926) ...
Using the existing boot entry 'primary'
/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh: line 554: warning: command substitution: ignored null byte in input
/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh: line 554: warning: command substitution: ignored null byte in input
/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh: line 554: warning: command substitution: ignored null byte in input
/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh: line 554: warning: command substitution: ignored null byte in input
Warning: Cannot get compatible board name.
3767-000-0000--1--monarch_e5000_revC-
Info. Installing mtdblock.
Info. Active boot storage: nvme0n1
Info. Legacy mode: false
TNSPEC 3767-500-0000--1-1-monarch_e5000_revC-
COMPATIBLE_SPEC 3767-000-0000--1--monarch_e5000_revC-
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-000-0000--1--monarch_e5000_revC-.
Starting kernel post-install procedure.
Rootfs AB is not enabled.
ERROR. Procedure for A_kernel update FAILED.
Cannot install package. Exiting...
dpkg: error processing package nvidia-l4t-kernel (--configure):
installed nvidia-l4t-kernel package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of nvidia-l4t-kernel-headers:
nvidia-l4t-kernel-headers depends on nvidia-l4t-kernel (= 5.10.120-tegra-35.4.1-20230801124926); however:
Package nvidia-l4t-kernel is not configured yet.
dpkg: error processing package nvidia-l4t-kernel-headers (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
dpkg: dependency problems prevent configuration of nvidia-l4t-jetson-io:
nvidia-l4t-jetson-io depends on nvidia-l4t-kernel (>> 5.10.120-tegra-35.4-0); however:
Package nvidia-l4t-kernel is not configured yet.
nvidia-l4t-jetson-io depends on nvidia-l4t-kernel (<< 5.10.120-tegra-35.5-0); however:
Package nvidia-l4t-kernel is not configured yet.
dpkg: error processing package nvidia-l4t-jetson-io (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of nvidia-l4t-display-kernel:
nvidia-l4t-display-kernel depends on nvidia-l4t-kernel (= 5.10.120-tegra-35.4.1-20230801124926); however:
Package nvidia-l4t-kernel is not configured yet.
dpkg: error processing package nvidia-l4t-display-kernel (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of nvidia-l4t-kernel-dtbs:
nvidia-l4t-kernel-dtbs depends on nvidia-l4t-kernel (= 5.10.120-tegra-35.4.1-No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already
No apport report written because Max
Reports is reached already
20230801124926); however:
Package nvidia-l4t-kernel is not configured yet.
dpkg: error processing package nvidia-l4t-kernel-dtbs (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
nvidia-l4t-kernel
nvidia-l4t-kernel-headers
nvidia-l4t-jetson-io
nvidia-l4t-display-kernel
nvidia-l4t-kernel-dtbs
E: Sub-process /usr/bin/dpkg returned an error code (1)
Specifically, nvidia-l4t-kernel package post-installation script subprocess returned error exit status 1
Is there a way that I can see this post-installation script so that I can get more details as to what is failing and causing the dependency errors?
We are trying to avoid having to re-flash the entire module/SSD in order to perform this upgrade in our products so any help is appreciated.