Jetpack 6

setup telelian Linux for Tegra

Important

지원하는 Linux for Tegra version은 아래와 같습니다.

- 36.3 (Jetpack 6.0)
- 36.4.3 (Jetpack 6.2)

출고시의 id와 password는 아래와 같습니다.

- id : avs
- password : telelian

Warning

host는 ubuntu 20.04 또는 22.04를 사용하세요.

Danger

apt upgrade, apt dist-upgrade 를 하면 안됩니다.

  • kernel image와 device tree, device driver는 avs100,101,200에 맞게 빌드되어 셋팅되어 있습니다.

  • apt upgrade, apt dist-upgrade를 하게 되면 nvidia Jetson devkit용으로 파일이 덮어써져 부팅이 안됩니다.

setup

sudo apt update 
sudo apt install -y git-core build-essential libncurses5-dev \
bc bison flex libssl-dev fakeroot \
device-tree-compiler qemu-user-static debootstrap \
sshpass abootimg libxml2-utils \
nfs-kernel-server xmlstarlet

L4T_VERSION=36.4.3

BASE_PATH=$HOME/l4t_ws/$L4T_VERSION

mkdir -p $BASE_PATH
cd $BASE_PATH

wget https://tlln.xyz/telelian-l4t/jp6/$L4T_VERSION/l4t_prebuilt.tar.gz -O $BASE_PATH/l4t_prebuilt.tar.gz

# Linux_for_Tegra download
case ${L4T_VERSION} in
    36.3)
        L4T_LINK=https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/jetson_linux_r36.3.0_aarch64.tbz2
        L4T_FILE=jetson_linux_r36.3.0_aarch64.tbz2
        ROOTFS_LINK=https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/tegra_linux_sample-root-filesystem_r36.3.0_aarch64.tbz2
        ROOTFS_FILE=tegra_linux_sample-root-filesystem_r36.3.0_aarch64.tbz2

        OVERLAY_LINKS=(
            https://developer.nvidia.com/downloads/embedded/L4T/r36_Release_v3.0/overlay_libcuda_36.3.tbz2
        )

        ;;
     36.4.3)
        L4T_LINK=https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Jetson_Linux_r36.4.3_aarch64.tbz2
        ROOTFS_LINK=https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2
        ;;
esac

L4T_FILE=$(basename ${L4T_LINK})
ROOTFS_FILE=$(basename ${ROOTFS_LINK})

echo "Downloading Linux_for_Tegra"
wget ${L4T_LINK}
tar xpf ${L4T_FILE}

if [ -n "${OVERLAY_LINKS}" ]; then
    echo "Downloading overlays"
    for overlay in ${OVERLAY_LINKS[@]}; do
        overlay_file=$(basename ${overlay})
        wget ${overlay} -O /tmp/${overlay_file}
        echo "Extracting ${overlay}"
        tar xpf /tmp/${overlay_file} --directory $BASE_PATH
        rm -f /tmp/${overlay_file}
    done
fi

L4T_PATH=$BASE_PATH/Linux_for_Tegra

echo "Downloading rootfs"
wget ${ROOTFS_LINK}
cd $L4T_PATH/rootfs
sudo tar xpf ${ROOTFS_FILE}

cd $L4T_PATH

sudo ./apply_binaries.sh
# sudo ./tools/l4t_create_default_user.sh -u <username> -p <password> -n <hostname> -a --accept-license
# ex)
sudo ./tools/l4t_create_default_user.sh -u avs -p telelian -n avs-teleian -a --accept-license

cd $BASE_PATH
sudo tar xpf l4t_prebuilt.tar.gz

# depmod
cd $L4T_PATH
sudo ./make_depmod.sh

flash to target

recovery mode

Important

  • Flash 하기 전 Recovery mode로 진입해야 합니다.

  • recovery usb와 Linux_for_Tegra가 설치된 ubuntu PC를 연결합니다.

  • Power on 상태에서 아래 사진에 표시된 recovery button을 누른 상태에서 reset button을 눌렀다 뗀 후 2-3초 후에 recovery button에서 손을 뗍니다.

avs100

avs100

avs101

avs101-front avs101-rear

avs200

avs200

flash

Note

  • 아래 명령어에서 보이는 경로는 위의 setup에서 설치된 경로이며 다른 경로를 사용했을 경우 Linux_for_Tegra 아래에서 작업하시면 됩니다.

  • flash를 위한 명령어는 아래와 같습니다.

공통 (host pc terminal에서 실행)

export L4T_VERSION=36.4.3
export BASE_PATH=$HOME/l4t_ws/${L4T_VERSION}
export L4T_PATH=$BASE_PATH/Linux_for_Tegra

# 환경변수 적용 확인
env | grep L4T_VERSION
env | grep BASE_PATH
env | grep L4T_PATH

cd $L4T_PATH

# flash 전에 실행 host pc 에서 한번만 실행
# 2번째 구울때부터는 실행 안해도 됩니다.
sudo ./tools/l4t_flash_prerequisites.sh

avs100

# 최초 1회 flash
sudo ./flash_avs100_nvme.sh

# system image가 생성된 후 같은 이미지를 플래시 하는 경우
sudo ./flash_avs100_nvme_flash_only.sh

avs101

# 최초 1회 flash
sudo ./flash_avs101_nvme.sh

# system image가 생성된 후 같은 이미지를 플래시 하는 경우
sudo ./flash_avs101_nvme_flash_only.sh

avs200

  • emmc

# 최초 1회 flash
sudo ./flash_avs200_emmc.sh

# system image가 생성된 후 같은 이미지를 플래시 하는 경우
sudo ./flash_avs200_emmc_flash_only.sh
  • nvme

# 최초 1회 flash
sudo ./flash_avs200_nvme.sh

# system image가 생성된 후 같은 이미지를 플래시 하는 경우
sudo ./flash_avs200_nvme_flash_only.sh

target device 설정

Camera Overlay 설정

Important

  • Camera Overlay 설정이 정상적으로 설정되어 있어야 GMSL 카메라를 사용할 수 있습니다.

최초 부팅 후 설정

Note

  • target device가 부팅된 후 터미널에서 설정합니다.

  • group설정

    gpio, i2c, tty 장치들을 non-sudo로 실행하기 위해 설정합니다.

    # sudo usermod -aG gpio,i2c,dialout <user-id>
    # user-id 대신 avs 로 설정
    sudo usermod -aG gpio,i2c,dialout avs
    
  • nvpmodel 설정

    • orin의 성능 설정을 최대로 설정합니다.

    • 설정 후 yes를 입력하면 재부팅됩니다.

    sudo nvpmodel -m 0
    

jtop 설치

  • device의 상태를 모니터링하기 위해 설치합니다.

sudo apt install python3-pip
sudo -H pip3 install -U jetson-stats
sudo systemctl restart jtop

nvidia-l4t-gstreamer 설치

  • jetson의 hardware를 이용하여 camera, encoder, decoder 등을 빠르게 액세스하기 위해 설치합니다.

sudo apt install -y nvidia-l4t-gstreamer

nvidia-jetpack 설치

sudo apt install nvidia-jetpack

Build Telelian l4t

문의