JetPack-5.x Installation for DSBOX-NX2 - Forecr.io

JetPack-5.x Installation for DSBOX-NX2

Jetson Xavier NX

04 July 2023
WHAT YOU WILL LEARN?

1- Including the Kernel Files in Jetson OS Image

2- Installing the Jetson OS

3- Installing the Jetson SDK Components

ENVIRONMENT

Hardware: DSBOX-NX2

Host OS: Ubuntu 18.04.5 LTS


In this tutorial, we will install JetPack-5 for DSBOX-NX2. First, we will include our Image, DTB & NVGPU kernel files in the Jetson OS image. Then, we will install the Jetson OS into the DSBOX-NX2. Finally, we will install the Jetson SDK components into it.


Attention: If you want to transfer the root file-system to an external drive, please format it before starting this blog post.


Including the Kernel Files in Jetson OS Image

Open the NVIDIA SDK Manager. Select the correct JetPack version for Target Operating System and “Jetson Xavier NX modules” for Target Hardware (The “Host Machine” components are not required). Then, continue to Step 2.


Choose only “Jetson Linux”, accept the terms & conditions and continue to Step 3.


The SDK Manager will ask the username’s password. Fill it and continue.


A few seconds later...


After the Jetson OS has created, the SDK Manager asks the Jetson module’s flashing style. Just skip it and exit from the SDK Manager.


Open the target HW image folder.


For JetPack-5.0.2

          Xavier NX: ~/nvidia/nvidia_sdk/JetPack_5.0.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/)

For JetPack-5.1

          Xavier NX: ~/nvidia/nvidia_sdk/JetPack_5.1_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/)

For JetPack-5.1.1

          Xavier NX: ~/nvidia/nvidia_sdk/JetPack_5.1.1_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/)

For JetPack-5.1.2

          Xavier NX: ~/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/)

For JetPack-5.1.3

          Xavier NX: ~/nvidia/nvidia_sdk/JetPack_5.1.3_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/)


For JetPack-5.0.2:

        Download the BSP files from GitHub link and extract it (Xavier NX)

For JetPack-5.1:

        Download the BSP files from GitHub link and extract it (Xavier NX)

For JetPack-5.1.1:

        Download the BSP files from GitHub link and extract it (Xavier NX)

For JetPack-5.1.2:

        Download the BSP files from GitHub link and extract it (Xavier NX)

For JetPack-5.1.3:

        Download the BSP files from GitHub link and extract it (Xavier NX)


Copy the pinmux file into the “bootloader/t186ref/BCT” folder.


Copy the “Image” file from the extracted folder to the “kernel” folder.


Then, copy the DTB file into the “kernel/dtb” folder.


Attention: If you use one of the previous DSBOARD-NX2 (rev-1.0, 1.1 & 1.21) carrier boards, please use the DTB file from the “without_fan” folder. To be able to confirm the carrier board type is old (rev-1.0, 1.1 or 1.21) or new (rev-1.23 or 1.24) designed one, you can type the following command on your Jetson (If it has already flashed before).


sudo dmesg | grep -q "pcf857x" && echo "old" || echo "new"


Return to the JetPack_5.x_Linux_JETSON_XAVIER_NX_TARGETS folder and copy the "nvgpu.ko" file.


Open a Terminal in the “Linux_for_Tegra” folder.


Create the system binaries with this command below:


sudo ./apply_binaries.sh


Update the NVGPU kernel file on the sample root file-system with this command below (We used "5.10.104" instead of "5.10.*" but the following command works as well):


sudo mv ../nvgpu.ko rootfs/usr/lib/modules/5.10.*-tegra/kernel/drivers/gpu/nvgpu/nvgpu.ko


Hint: If you want to configure your username-password & hostname with default settings, you can create user without the Ubuntu installation wizard. To do this, the user generation command structure should be:


sudo tools/l4t_create_default_user.sh -u {USERNAME} -p {PASSWORD} -a -n {HOSTNAME} --accept-license

For example (username:"nvidia", password:"nvidia", device-name:"nvidia-desktop"):


sudo tools/l4t_create_default_user.sh -u nvidia -p nvidia -a -n nvidia-desktop --accept-license



Then, create the system image with this command below:


sudo ./flash.sh --no-flash jetson-xavier-nx-devkit-emmc mmcblk0p1


A few seconds later …

Jetson OS Installation

Connect the recovery USB (between installer PC & DSBOX-NX2's recovery USB) and power connection of your DSBOX-NX2.


While the DSBOX-NX2's power connector plugged in,

• press power button then wait for boot led lights up.

• press reset & recovery buttons together

• release reset button

• release the recovery button after 3 seconds later. This will set it to Recovery mode.


Then, type lsusb and check the device connected in Recovery mode.

• "0955:7e19 NVidia Corp." for Xavier NX


Flash the Jetson OS with this script:


sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1


At the end of the script, the device will reboot. Complete your Ubuntu installation wizard (if you have not created a user with tools/l4t_create_default_user.sh script file) from the DSBOX-NX2 (language, keyboard type, location, username & password etc.).


To avoid kernel update with "apt upgrade" or "apt-get upgrade" commands, please follow this guide on the Jetson module.

Jetson SDK Components Installation

Attention: Before starting this section, please transfer the Root File-System on an external storage if you will install all components. The eMMC storage is not enough for it (You can install just "Jetson Runtime Components" without external storage). If you will use an NVME SSD storage, please follow this guide. If you will use an SD Card storage, please follow this guide.


[Optional] Delete LibreOffice & ThunderBird packages (if you don’t need) and remove the unnecessary packages to increase the free space. To do this, type these commands to the DSBOX-NX2 side:


sudo apt remove -y libreoffice* thunderbird*
sudo apt autoremove -y
sudo apt clean


Connect the DSBOX-NX2 to the Ethernet or connect its Recovery USB to the Host PC. Then, open the NVIDIA SDK Manager. Select the correct JetPack version for Target Operating System and “Jetson Xavier NX modules” for Target Hardware (The “Host Machine” components are not required. Additional SDKs (DeepStream) are optional). Then, continue to Step 2.


Choose only the “Jetson Runtime Components” ("Jetson SDK Components" are optional. It depends on your use case), accept the terms & conditions and continue to Step 3.


The SDK Manager will ask the username’s password. Fill it and continue.


Type the IP address, username and password of DSBOX-NX2 and Install the SDK Components.

At the end of the installation, the DSBOX-NX2 becomes ready.

Attention: If you will have unmet dependencies after the SDK components installed, please open a terminal from the Jetson side and type the following command below. This will fix the problem.


sudo apt install -y libxmlb2 ubuntu-advantage-desktop-daemon libfwupdplugin5 libpciaccess-dev



Thank you for reading our blog post.