# Flash Jetson by script ### 1. Download the files (xxxx) ### 2. Untar and get the two files (I copy the two files separately in other folder) /Projects/jetson/customer_release/generic_release_aarch64/jetson/Linux_for_Tegra ![Screenshot 2026-04-05 at 23.40.22](https://hackmd.io/_uploads/Bk4RI8e2-e.png) ### 2. Untar and prepare the host computer (Example Jetson AGX Orin) ```bash mkdir -p Projects/jetson tar xf Jetson_Linux_R39.1.0_aarch64.tbz2 sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_R39.1.0_aarch64.tbz2 -C Linux_for_Tegra/rootfs/ cd Linux_for_Tegra/ sudo ./tools/l4t_flash_prerequisites.sh ``` #### Result ![image](https://hackmd.io/_uploads/ryqwPLl3Ze.png) ![Screenshot 2026-04-05 at 23.43.08](https://hackmd.io/_uploads/H1KOD8l3Wg.png) ### 3. Apply drivers for AGX Thor or AGX Orin #### Thor: ```bash sudo ./apply_binaries.sh --openrm ``` #### For Jetson Orin devices: ```bash sudo ./apply_binaries.sh ``` ### 4. Flash #### Jetson AGX Thor Developer Kit (NVMe): ```bash sudo ./l4t_initrd_flash.sh jetson-agx-thor-devkit internal ``` #### Jetson Orin Nano Developer Kit with Super Configuration (NVMe): ```bash sudo ./l4t_initrd_flash.sh jetson-orin-nano-devkit-super internal ``` #### Jetson AGX Orin Developer Kit (NVMe): ```bash sudo ./l4t_initrd_flash.sh --external-device nvme0n1p1 \ -c tools/kernel_flash/flash_l4t_t234_nvme.xml \ jetson-agx-orin-devkit external ``` -------------------- # Boot first time ### Install CUDA ```bash wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/sbsa/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update sudo apt-get -y install cuda-toolkit-13-2 cudnn tensorrt python3-dev curl ``` Add PATH to .bashrc ```bash sudo gedit ~/.bashrc ``` ```bash export PATH=/usr/local/cuda-13.2/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-13.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} ``` ```bash source ~/.bashrc ``` ### Install Docker ```bash # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ``` ```bash curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \ && \ sudo apt-get update sudo apt-get install -y nvidia-container-toolkit ``` ```bash sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker sudo nvidia-ctk runtime configure --runtime=containerd sudo systemctl restart containerd sudo nvidia-ctk runtime configure --runtime=crio sudo systemctl restart crio sudo systemctl enable docker.service sudo systemctl enable containerd.service ``` ```bash sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi ``` ### Add permission user ```bash sudo chmod 666 /var/run/docker.sock sudo groupadd docker sudo usermod -aG docker $USER newgrp docker ``` ### Modify to compile dockers with Nvidia If you're going to be building containers, you need to set Docker's default-runtime to nvidia, so that the NVCC compiler and GPU are available during docker build operations. Add "default-runtime": "nvidia" to your **/etc/docker/daemon.json** configuration file before attempting to build the containers: ```bash { "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" } ``` ```bash sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker sudo nvidia-ctk runtime configure --runtime=containerd sudo systemctl restart containerd sudo nvidia-ctk runtime configure --runtime=crio sudo systemctl restart crio sudo systemctl enable docker.service sudo systemctl enable containerd.service ``` # Swap ```bash sudo systemctl disable nvzramconfig sudo fallocate -l 300G /mnt/300GB.swap sudo mkswap /mnt/300GB.swap sudo swapon /mnt/300GB.swap ```