Segmentation Fault During Jetson Orin NX BSP Installation with Docker on Ubuntu 24.04 Server (QEMU Simulation)

Hi, I am encountering a segmentation fault error when running the apply_binaries.sh script to install the Jetson Orin NX BSP on a fresh Ubuntu 24.04 server PC (B) using Docker. The script fails during the installation of the libc-bin package, with qemu-aarch64-static reporting signal 11 (Segmentation Fault). Below is the error log:

xuzhenhua@ubuntu2204-docker:/mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra$ sudo ./apply_binaries.sh 
Using rootfs directory of: /mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/rootfs
Installing extlinux.conf into /boot/extlinux in target rootfs
/mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/nv_tegra/nv-apply-debs.sh
Root file system directory is /mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/rootfs
Copying public debian packages to rootfs
Skipping installation of nvidia-igx-systemd-reboot-hooks_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-apt-source_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-config_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-tools_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-x11_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-factory-service_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-igx-bootloader_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-jetson-orin-nano-qspi-updater_36.3.0-20240506102626_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
/mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/rootfs /mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra
Installing BSP Debian packages in /mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/rootfs
Selecting previously unselected package nvidia-l4t-core.
(Reading database ... 166575 files and directories currently installed.)
Preparing to unpack .../nvidia-l4t-core_36.3.0-20240506102626_arm64.deb ...
Pre-installing... skip compatibility checking.
Unpacking nvidia-l4t-core (36.3.0-20240506102626) ...
Setting up nvidia-l4t-core (36.3.0-20240506102626) ...
Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
dpkg: error processing package libc-bin (--install):
 installed libc-bin package post-installation script subprocess returned error exit status 139
Errors were encountered while processing:
 libc-bin
xuzhenhua@ubuntu2204-docker:/mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra$ 
xuzhenhua@ubuntu2204-docker:/mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra$  sudo ./apply_binaries.sh //run again
Using rootfs directory of: /mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/rootfs
Installing extlinux.conf into /boot/extlinux in target rootfs
/mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/nv_tegra/nv-apply-debs.sh
Root file system directory is /mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/rootfs
Copying public debian packages to rootfs
Skipping installation of nvidia-igx-systemd-reboot-hooks_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-apt-source_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-config_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-tools_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-dgpu-x11_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-factory-service_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-igx-bootloader_36.3.0-20240506102626_arm64.deb ....
Skipping installation of nvidia-l4t-jetson-orin-nano-qspi-updater_36.3.0-20240506102626_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
mknod: /mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra/rootfs/dev/random: File exists
xuzhenhua@ubuntu2204-docker:/mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra$ uname -r
6.8.0-49-generic
xuzhenhua@ubuntu2204-docker:/mnt/data/xuzhenhua/work/nvidia/orin-nx/jetson-36p3-git/Linux_for_Tegra$ qemu-aarch64-static --version
qemu-aarch64 version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.24)
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers

I tried running the script again, but the error persists. The following additional information might help with diagnosing the issue:

  • Host System (PC B, new Ubuntu 24.04):

    • Docker run Ubuntu 22.04
    • Kernel version: 6.8.0-49-generic
    • QEMU version: qemu-aarch64 6.2.0
  • Working System (PC A, older Ubuntu 20.04):

    • Docker run Ubuntu 22.04
    • Kernel version: 5.15.0-125-generic
    • QEMU version: qemu-aarch64 6.2.0

On PC A, the script runs without any issues, but on PC B, I continue to face the segmentation fault error. The Docker environment on both systems is the same, running Ubuntu 22.04 for the container.

Steps I’ve Already Tried:

  1. I confirmed that QEMU is properly installed (qemu-aarch64-static).
  2. I re-ran the script multiple times, but the issue persists.
  3. No issues with disk space or permissions.
  4. I re-ran on Ubuntu 24.04 server PC (B) without docker, but the issue persists.

Hi,

You will need the onboard hardware to set up the L4T BSP.
QEMU can only emulate ARM CPU so this doesn’t support.

Could you share more info about your use case?
Do you want a cross-compiling environment?

Thanks.

Thanks!

After encountering the QEMU-related issue in Ubuntu 24.04, I tried deleting /rootfs/dev/random and /rootfs/dev/urandom, and then re-executing sudo ./apply_binaries.sh, which worked fine. However, this is not an ideal solution.

I also find in Ubuntu 24.04, aside from encountering QEMU issues when compiling for NVIDIA platforms (such as Jetson Orin), similar QEMU problems also occur when compiling for other chipsets.

I will downgrade the system to Ubuntu 22.04 or Ubuntu 20.04 on my PC to avoid QEMU-related compatibility issues.

1 Like

Hi,

Do you solve the issue by deleting the folder under rootfs?
Please note we don’t support qemu environment so you might meet some unexpected issues by doing so.

Thanks.

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