Basic and minimal rootfs make apply_binaries.sh fail (L4T 36.2 DP)

Hi,

My question is related to Issues creating basic rootfs for Jetson Linux 36.2.

Is there any plan for the 36.2 final release to have dependencies fixed for basic and minimal flavor rootfs?
I want to create the smallest rootfs possible, without extra GUI and compiler/dev packages.

Just to summary the steps:

I run the following commands:

wget https://developer.download.nvidia.com/embedded/L4T/r36_Release_v2.0/release/Jetson_Linux_R36.2.0_aarch64.tbz2
tar xvf Jetson_Linux_R36.2.0_aarch64.tbz2

cd Linux_for_Tegra/tools/samplefs
sudo ./nv_build_samplefs.sh --abi aarch64 --distro ubuntu --flavor basic --version jammy

cd ../../
sudo tar xvpf Linux_for_Tegra/tools/samplefs/sample_fs.tbz2 -C Linux_for_Tegra/rootfs/
sudo ./apply_binaries.sh

Script is failing because of missing packages, and broken dependencies.

If I chroot the rootfs, apt propose to run apt --fix-broken install (below the resulting packages to be installed).
Just to show you the list of dependencies that are missing and surely not configured correctly in l4t-* packages.
As you can see, some GUI stuff, gcc, …, not needed for a production rootfs.

With minimal flavor, apply_binaries.sh fails too, with some missing dependencies and the final result is:

Errors were encountered while processing:
 nvidia-l4t-jetsonpower-gui-tools
 nvidia-l4t-nvpmodel-gui-tools

Maybe a solution would be to have apply_binaries.sh configurable with some options to disable GUI .deb packages from being installed.

List of missing dependencies for basic flavor:

adwaita-icon-theme
alsa-topology-conf
alsa-ucm-conf
at-spi2-core
binutils
binutils-aarch64-linux-gnu
binutils-common
blt
dbus-user-session
dconf-gsettings-backend
dconf-service
fontconfig
fonts-lyx
g++
g++-11
gcc
gcc-11
gir1.2-appindicator3-0.1
gir1.2-atk-1.0
gir1.2-freedesktop
gir1.2-gdkpixbuf-2.0
gir1.2-gtk-3.0
gir1.2-harfbuzz-0.0
gir1.2-pango-1.0
gsettings-desktop-schemas
gstreamer1.0-plugins-base
gtk-update-icon-cache
hicolor-icon-theme
humanity-icon-theme
javascript-common
libappindicator3-1
libasan6
libasound2
libasound2-data
libatk-bridge2.0-0
libatk1.0-0
libatk1.0-data
libatomic1
libatspi2.0-0
libavahi-client3
libavahi-common-data
libavahi-common3
libbinutils
libblas3
libboost-dev
libboost1.74-dev
libc-dev-bin
libc-devtools
libc6-dev
libcairo-gobject2
libcairo2
libcc1-0
libcdparanoia0
libcolord2
libcrypt-dev
libctf-nobfd0
libctf0
libcups2
libdatrie1
libdbusmenu-glib4
libdbusmenu-gtk3-4
libdconf1
libdeflate0
libdw1
libegl1-mesa
libexpat1-dev
libffi7
libfribidi0
libgcc-11-dev
libgd3
libgdk-pixbuf-2.0-0
libgdk-pixbuf2.0-bin
libgdk-pixbuf2.0-common
libgfortran5
libgomp1
libgraphite2-3
libgstreamer-plugins-bad1.0-0
libgstreamer-plugins-base1.0-0
libgstreamer1.0-0
libgtk-3-0
libgtk-3-bin
libgtk-3-common
libharfbuzz0b
libhwasan0
libimagequant0
libitm1
libjbig0
libjpeg-turbo8
libjpeg8
libjs-jquery
libjs-jquery-ui
libjs-sphinxdoc
libjs-underscore
liblapack3
liblbfgsb0
liblcms2-2
liblsan0
libnsl-dev
libogg0
libopenblas-dev
libopenblas-pthread-dev
libopenblas0
libopenblas0-pthread
libopenjp2-7
libopus0
liborc-0.4-0
libpango-1.0-0
libpangocairo-1.0-0
libpangoft2-1.0-0
libpangoxft-1.0-0
libpython2-stdlib
libpython2.7-minimal
libpython2.7-stdlib
libpython3-dev
libpython3.10
libpython3.10-dev
libqhull-r8.0
libraqm0
librsvg2-2
librsvg2-common
libstdc++-11-dev
libtcl8.6
libthai-data
libthai0
libtheora0
libtiff5
libtirpc-dev
libtk8.6
libtsan0
libubsan1
libva-drm2
libva2
libvisual-0.4-0
libvorbis0a
libvorbisenc2
libvulkan1
libwayland-cursor0
libwayland-egl1
libwebp7
libwebpdemux2
libwebpmux3
libxcb-render0
libxcomposite1
libxdamage1
libxkbcommon0
libxsimd-dev
libxslt1.1
libxss1
libxtst6
linux-libc-dev
manpages
manpages-dev
mesa-va-drivers
mesa-vulkan-drivers
python-matplotlib-data
python2
python2-minimal
python2.7
python2.7-minimal
python3-appdirs
python3-attr
python3-beniget
python3-brotli
python3-bs4
python3-chardet
python3-cycler
python3-dateutil
python3-decorator
python3-dev
python3-distutils
python3-fonttools
python3-fs
python3-gast
python3-html5lib
python3-kiwisolver
python3-lib2to3
python3-lxml
python3-lz4
python3-matplotlib
python3-mpmath
python3-numpy
python3-olefile
python3-packaging
python3-pil
python3-pil.imagetk
python3-ply
python3-pythran
python3-scipy
python3-soupsieve
python3-sympy
python3-tk
python3-tz
python3-ufolib2
python3-unicodedata2
python3-webencodings
python3.10-dev
rpcsvc-proto
session-migration
tk8.6-blt2.5
ubuntu-mono
unicode-data
va-driver-all
zlib1g-dev

Hi,

You can just remove those packages with GUI dependencies from Linux_for_Tegra/nv_tegra/l4t_deb_packages/ so they won’t get installed.

Thanks @DaveYYY, I’ll try it.

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