From ProventusNova DeveloperWiki
Line 55: Line 55:
8.Return to "Linux_for_Tegra" directory and apply binaries.
8.Return to "Linux_for_Tegra" directory and apply binaries.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cd ../../
cd ../
sudo ./apply_binaries.sh
sudo ./apply_binaries.sh
</syntaxhighlight>
</syntaxhighlight>

Revision as of 00:16, 18 November 2025

Jetson Linux BSP and Kernel Source setup

Keywords: NVIDIA Jetson, JetPack

Description

This wiki pages shows how to get sources for any JetPack version for NVIDIA platform. Download board support package (BSP), sample root file system and kernel sources for kernel customization.

Getting the sources

In this wiki we will use as an example JetPack version 6.2.1 (L4T 36.4.4). You can find the desired JetPack version from Jetson Linux Archives

JetPack 6.2.1

1. Go to JetPack 6.2.1 release Page: NVIDIA Jetson Linux 36.4.4 and download “L4T Driver Package (BSP)” and “Sample Root filesystem”.

2. You should see this two files:

  • Jetson_Linux_R36.4.4_aarch64.tbz2
  • Tegra_Linux_Sample-Root-Filesystem_R36.4.4_aarch64.tbz2

3. Create a directory for installing JetPack. Referred to as <INSTALL_DIR>. For example:

 
INSTALL_DIR = build
mkdir $INSTALL_DIR
cd $INSTALL_DIR

4. Copy both files to <INSTALL_DIR>

 
cp $HOME/Downloads/Jetson_Linux_R36.4.4_aarch64.tbz2 .
cp $HOME/Downloads/Tegra_Linux_Sample-Root-Filesystem_R36.4.4_aarch64.tbz2 .

5. Extract "L4T Driver Package" tarball:

 
sudo tar -vjxf Jetson_Linux_R36.4.4_aarch64.tbz2

You should see a new directory called Linux_for_tegra in <INSTALL_DIR> directory.

6. Extract "Sample Root Filesystem" into Linux_for_tegra/rootfs

 
sudo tar -C Linux_for_Tegra/rootfs/ -vxjf Tegra_Linux_Sample-Root-Filesystem_R36.4.4_aarch64.tbz2

7. Go into "Linux_for_Tegra/source" directory and extract the kernel sources.

 
cd Linux_for_Tegra/source
./source_sync.sh -k -t <release_tag>

The release tag can be extracted from the release notes of the JetPack version. In the case of Jetpack 6.2.1, release tag is: jetson_36.4.4.

 
./source_sync.sh -k -t jetson_36.4.4

8.Return to "Linux_for_Tegra" directory and apply binaries.

 
cd ../
sudo ./apply_binaries.sh


9. Inside Linux_for_Tegra directory, create default user with:

 
sudo ./tools/l4t_create_default_user.sh -u <username> -p <password> -n <hostname>

for example:

 
sudo ./tools/l4t_create_default_user.sh -u nvidia -p nvidia -n nvidia

Flashing the board

Capturing with FRAMOS IMX464 cameras

1. Open a terminal. Verify cameras were bound correctly with:

sudo dmesg | grep imx464

Should see something like:

[   11.756067] imx464 9-001a: probing v4l2 sensor
[   11.756129] imx464 9-001a: initializing mipi...
[   11.756418] imx464 9-001a: tegracam sensor driver:imx464_v2.0.6
[   11.790754] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx464 9-001a bound
[   11.830176] imx464 9-001a: Detected imx464 sensor
[   11.833758] imx464 10-001a: probing v4l2 sensor
[   11.833832] imx464 10-001a: initializing mipi...
[   11.834253] imx464 10-001a: tegracam sensor driver:imx464_v2.0.6
[   11.867769] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx464 10-001a bound
[   11.884400] imx464 10-001a: Detected imx464 sensor

2. Check for devices in /dev/.

ls /dev/video*

Should see something like:

/dev/video0  /dev/video1

2. Run the following pipeline to get a stream preview:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! nvvidconv ! autovideosink

Switch between 0 and 1 in sensor-id to choose the camera to capture.