Upgrading to Jetpack 5.1.2 with custom rootfs and carrier board

Hi,

I want to upgrade my Jetpack from version 5.0.2 to 5.1.2. I customized the rootfs (changed user, added some packages) and cloned it to my flashing pc to reflash it to other devices. The carrier board is custom and developed by a different company. I followed the following procedure to update it:

  1. copied my old rootfs to the new BSP release for Jetpack 5.1.2
  2. executed ./apply_binaries.sh
  3. applied the patch from the custom carrier board
  4. flashed it onto my device sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only jetson-xavier-nx-devkit-emmc mmcblk0p1

This worked without problems. The issue is that the ethernet device does not exist at all. It is the same error as described here. To make sure it is not an issue with the patch from the custom carrier board I downloaded the default file system from here and applied the patch. In this case there was no problem with the ethernet device.

What can I do to correctly migrate my rootfs to the new Jetpack release? Do I need to follow the ota update procedure as described here. I tried to do that but it failed because I do not have enough memory on the emmc.

Thank you for your help.

Dmesg log when the ethernet device failed.
dmesg.log (68.6 KB)

How did you generate the rootfs?
Maybe some packages are missing.

Hi DaveYYY,

I created the root file system for Jetpack 5.0.2 with your tools from here. Afterwards I flashed it onto the device and customized it manually.

When I use ./apply_binaries.sh I get some errors:

Using rootfs directory of: /home/el/nvidia/JetPack_5.1.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/rootfs
Installing extlinux.conf into /boot/extlinux in target rootfs
/home/el/nvidia/JetPack_5.1.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/nv_tegra/nv-apply-debs.sh
Root file system directory is /home/el/nvidia/JetPack_5.1.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/rootfs
Copying public debian packages to rootfs
Skipping installation of nvidia-l4t-dgpu-apt-source_35.4.1-20230801124926_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-config_35.4.1-20230801124926_arm64.deb ....
Skipping installation of nvidia-l4t-factory-service_35.4.1-20230801124926_arm64.deb ....
Start L4T BSP package installation
QEMU binary is not available, looking for QEMU from host system
Found /usr/bin/qemu-aarch64-static
Installing QEMU binary in rootfs
/home/el/nvidia/JetPack_5.1.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/rootfs /home/el/nvidia/JetPack_5.1.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra
Installing BSP Debian packages in /home/el/nvidia/JetPack_5.1.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/rootfs
(Reading database ... 129904 files and directories currently installed.)
Preparing to unpack .../nvidia-l4t-core_35.4.1-20230801124926_arm64.deb ...
Pre-installing... skip compatibility checking.
Unpacking nvidia-l4t-core (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Setting up nvidia-l4t-core (35.4.1-20230801124926) ...
Installing new version of config file /etc/nv_tegra_release ...
(Reading database ... 129904 files and directories currently installed.)
Preparing to unpack .../jetson-gpio-common_2.1.1ubuntu1_arm64.deb ...
Unpacking jetson-gpio-common (2.1.1ubuntu1) over (2.1.1ubuntu1) ...
Preparing to unpack .../python3-jetson-gpio_2.1.1ubuntu1_arm64.deb ...
Unpacking python3-jetson-gpio (2.1.1ubuntu1) over (2.1.1ubuntu1) ...
Preparing to unpack .../python-jetson-gpio_2.1.1ubuntu1_arm64.deb ...
Unpacking python-jetson-gpio (2.1.1ubuntu1) over (2.1.1ubuntu1) ...
Preparing to unpack .../nvidia-l4t-3d-core_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-3d-core (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-apt-source_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-apt-source (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-camera_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-camera (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-configs_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-configs (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-cuda_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-cuda (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-firmware_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-firmware (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Replacing files in old package linux-firmware (1.187.39) ...
Preparing to unpack .../nvidia-l4t-gbm_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-gbm (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-graphics-demos_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-graphics-demos (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-gstreamer_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-gstreamer (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-init_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-init (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-initrd_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-initrd (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-jetson-io_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-jetson-io (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-jetsonpower-gui-tools_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-jetsonpower-gui-tools (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-libvulkan_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-libvulkan (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-multimedia_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-multimedia (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-multimedia-utils_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-multimedia-utils (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-nvfancontrol_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-nvfancontrol (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-nvpmodel_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-nvpmodel (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-nvpmodel-gui-tools_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-nvpmodel-gui-tools (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-nvsci_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-nvsci (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-oem-config_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-oem-config (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-openwfd_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-openwfd (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-optee_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-optee (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-pva_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-pva (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-tools_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-tools (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-vulkan-sc_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-vulkan-sc (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-vulkan-sc-dev_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-vulkan-sc-dev (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-vulkan-sc-samples_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-vulkan-sc-samples (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-vulkan-sc-sdk_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-vulkan-sc-sdk (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-wayland_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-wayland (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-weston_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-weston (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-x11_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-x11 (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-xusb-firmware_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-xusb-firmware (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-display-kernel_5.10.120-tegra-35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-display-kernel (5.10.120-tegra-35.4.1-20230801124926) over (5.10.104-tegra-35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-kernel_5.10.120-tegra-35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-kernel (5.10.120-tegra-35.4.1-20230801124926) over (5.10.104-tegra-35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-kernel-dtbs_5.10.120-tegra-35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-kernel-dtbs (5.10.120-tegra-35.4.1-20230801124926) over (5.10.104-tegra-35.3.1-20230319081403) ...
Preparing to unpack .../nvidia-l4t-kernel-headers_5.10.120-tegra-35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-kernel-headers (5.10.120-tegra-35.4.1-20230801124926) over (5.10.104-tegra-35.3.1-20230319081403) ...
dpkg: warning: unable to delete old directory '/lib/modules/5.10.104-tegra': Directory not empty
Preparing to unpack .../nvidia-l4t-bootloader_35.4.1-20230801124926_arm64.deb ...
Unpacking nvidia-l4t-bootloader (35.4.1-20230801124926) over (35.3.1-20230319081403) ...
Setting up jetson-gpio-common (2.1.1ubuntu1) ...
Setting up python3-jetson-gpio (2.1.1ubuntu1) ...
Setting up python-jetson-gpio (2.1.1ubuntu1) ...
Setting up nvidia-l4t-apt-source (35.4.1-20230801124926) ...

Configuration file '/etc/apt/sources.list.d/nvidia-l4t-apt-source.list'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** nvidia-l4t-apt-source.list (Y/I/N/O/D/Z) [default=N] ? Pre-installing... skip changing source list.
Setting up nvidia-l4t-configs (35.4.1-20230801124926) ...
Setting up nvidia-l4t-cuda (35.4.1-20230801124926) ...
Setting up nvidia-l4t-firmware (35.4.1-20230801124926) ...
Installing new version of config file /etc/systemd/nvwifibt-pre.sh ...
Installing new version of config file /etc/systemd/nvwifibt.sh ...
Setting up nvidia-l4t-init (35.4.1-20230801124926) ...
Installing new version of config file /etc/nvidia-container-runtime/host-files-for-container.d/l4t.csv ...
Installing new version of config file /etc/systemd/nv.sh ...
Installing new version of config file /etc/systemd/nvpower.sh ...
Installing new version of config file /etc/udev/rules.d/99-tegra-devices.rules ...
dpkg: dependency problems prevent configuration of nvidia-l4t-jetsonpower-gui-tools:
 nvidia-l4t-jetsonpower-gui-tools depends on python3-matplotlib; however:
  Package python3-matplotlib is not installed.

dpkg: error processing package nvidia-l4t-jetsonpower-gui-tools (--install):
 dependency problems - leaving unconfigured
Setting up nvidia-l4t-libvulkan (35.4.1-20230801124926) ...
Setting up nvidia-l4t-multimedia-utils (35.4.1-20230801124926) ...
Setting up nvidia-l4t-nvfancontrol (35.4.1-20230801124926) ...
Setting up nvidia-l4t-nvpmodel (35.4.1-20230801124926) ...
Installing new version of config file /etc/nvpmodel/nvpmodel_p3767_0000.conf ...
Setting up nvidia-l4t-nvpmodel-gui-tools (35.4.1-20230801124926) ...
Setting up nvidia-l4t-nvsci (35.4.1-20230801124926) ...
Setting up nvidia-l4t-oem-config (35.4.1-20230801124926) ...
Installing new version of config file /etc/systemd/nv-oem-config-post.sh ...
Installing new version of config file /etc/systemd/nv-oem-config.sh ...
Setting up nvidia-l4t-openwfd (35.4.1-20230801124926) ...
Setting up nvidia-l4t-optee (35.4.1-20230801124926) ...
Setting up nvidia-l4t-pva (35.4.1-20230801124926) ...
Setting up nvidia-l4t-tools (35.4.1-20230801124926) ...
Installing new version of config file /etc/nvpower/libjetsonpower/jetsonpower_t234.conf ...
Setting up nvidia-l4t-vulkan-sc (35.4.1-20230801124926) ...
Setting up nvidia-l4t-vulkan-sc-dev (35.4.1-20230801124926) ...
Setting up nvidia-l4t-vulkan-sc-sdk (35.4.1-20230801124926) ...
Setting up nvidia-l4t-wayland (35.4.1-20230801124926) ...
Setting up nvidia-l4t-x11 (35.4.1-20230801124926) ...
Setting up nvidia-l4t-xusb-firmware (35.4.1-20230801124926) ...
Setting up nvidia-l4t-kernel (5.10.120-tegra-35.4.1-20230801124926) ...
Using the existing boot entry 'primary'
Pre-installing kernel package, skip flashing
Setting up nvidia-l4t-kernel-dtbs (5.10.120-tegra-35.4.1-20230801124926) ...
Pre-installing kernel-dtbs package, skip flashing
Setting up nvidia-l4t-kernel-headers (5.10.120-tegra-35.4.1-20230801124926) ...
Setting up nvidia-l4t-bootloader (35.4.1-20230801124926) ...
Pre-installing bootloader package, skip flashing
Setting up nvidia-l4t-3d-core (35.4.1-20230801124926) ...
Setting up nvidia-l4t-gbm (35.4.1-20230801124926) ...
Setting up nvidia-l4t-initrd (35.4.1-20230801124926) ...
Pre-installing initrd package, skip flashing
Setting up nvidia-l4t-jetson-io (35.4.1-20230801124926) ...
Setting up nvidia-l4t-multimedia (35.4.1-20230801124926) ...
Setting up nvidia-l4t-vulkan-sc-samples (35.4.1-20230801124926) ...
Setting up nvidia-l4t-weston (35.4.1-20230801124926) ...
Setting up nvidia-l4t-display-kernel (5.10.120-tegra-35.4.1-20230801124926) ...
Setting up nvidia-l4t-camera (35.4.1-20230801124926) ...
Setting up nvidia-l4t-graphics-demos (35.4.1-20230801124926) ...
Setting up nvidia-l4t-gstreamer (35.4.1-20230801124926) ...
Processing triggers for nvidia-l4t-kernel (5.10.120-tegra-35.4.1-20230801124926) ...
Processing triggers for libc-bin (2.31-0ubuntu9.14) ...
Errors were encountered while processing:
 nvidia-l4t-jetsonpower-gui-tools

I does not look like an essential package that fails.

You have to re-generate the rootfs again for 5.1.2.
Some system libraries on 5.1.2 may depend on newer version of packages, and it’s not surprising they fail with an outdated rootfs.

Okay then I will do that. Is it possible to apply apt packages to the rootfs before flashing it onto the device?

YES.
You either specify them in the package list consumed by nv_build_samplefs.sh,
or put the .deb file in Linux_for_Tegra/nv_tegra/l4t_deb_packages, and apply_binaries.sh will take them.

Just for your info. I build the minimal flavor of the rootfs. When using apply_binaries.sh some packages were missing for nvidia-l4t-jetsonpower-gui-tools, nvidia-l4t-nvpmodel-gui-tools. Maybe they should be added to the package list.

gir1.2-appindicator3-0.1
python3-matplotlib
python3-tk

I will fix that later on the device.

It doesn’t really matter as the minimal flavor does not contain any GUI stuff, so these two packages are expected to fail to be installed.

Yeah you are right. There will be a warning when running apt to fix the packages with --fix-broken

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