一、序言
搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。
二、环境搭建
1、安装库
$ sudo apt-get install qemu-user-static$ sudo apt-get install python
搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Jetson开发工具包中。
2、从 NVIDIA 官网下载所需版本的驱动程序包和文件系统包
Jetson Linux Archive | NVIDIA Developer
特别注意:32.7.5 之后,对应2025批次nano。
此处,我不编译内核,只是做烧写用所有只下载:Driver Package (BSP) 和 Sample Root Filesystem
32.7.5 之后版本需下载,页面最下方:Overlay_PCN211181_r32.7.5.tbz2
根据自己对应的 Jetson 设备下载对应的驱动程序包,和根文件系统包。
Driver Package(BSP) 程序包名称为 jetson-210_linux_r32.7.6_aarch64.tbz2,程序包名中 R32.7.6 表示的是对应的版本。
根文件系统包名称为 Tegra_Linux_Sample-Root-Filesystem_R32.7.6_aarch64.tbz2 。
在下载时请注意下载对应目标 Jetson 设备栏目下的驱动程序包及根文件系统。
3、在 Ubuntu 创建并进入工作目录:
$ mkdir 32.7.6&cd 32.7.6
并将下载好的驱动程序包和根文件系统包拷贝到工作目录下。
4、在工作目录(32.7.6 目录)下执行以下命令,解压驱动程序包。
xu@ubuntu:~/nano_2025/32.7.6$ tar -xvf jetson-210_linux_r32.7.6_aarch64.tbz2
5、解压完成过后,会得到系统烧写目录(Linux_for_Tegra),进入 Linus_for_ Tegra 目录下的 rootfs 目录 cd Linux_for_Tegra/rootfs 在 rootfs 目录下执行以下命令,解压根文件系统包:
xu@ubuntu:~/nano_2025/32.7.6$ cd Linux_for_Tegra/rootfs/
xu@ubuntu:~/nano_2025/32.7.6/Linux_for_Tegra/rootfs$ sudo tar -xpvf ../../Tegra_Linux_Sample-Root-Filesystem_R32.7.6_aarch64.tbz2
6、等待解压完成,返回到系统烧写目录,并在系统烧写目录(Linux_for_Tegra)下执行以下命令,安装 NVIDIA 应用库:
xu@ubuntu:~/nano_2025/32.7.6/Linux_for_Tegra$ sudo ./apply_binaries.sh
Using rootfs directory of: /home/xu/nano_2025/32.7.6/Linux_for_Tegra/rootfs
Installing extlinux.conf into /boot/extlinux in target rootfs
/home/xu/nano_2025/32.7.6/Linux_for_Tegra/nv_tegra/nv-apply-debs.sh
Root file system directory is /home/xu/nano_2025/32.7.6/Linux_for_Tegra/rootfs
Copying public debian packages to rootfs
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
~/nano_2025/32.7.6/Linux_for_Tegra/rootfs ~/nano_2025/32.7.6/Linux_for_Tegra
Installing BSP Debian packages in /home/xu/nano_2025/32.7.6/Linux_for_Tegra/rootfs......Setting up nvidia-l4t-initrd (32.7.6-20241104234540) ...
Pre-installing initrd package, skip flashing
Setting up nvidia-l4t-jetson-io (32.7.6-20241104234540) ...
Setting up nvidia-l4t-multimedia (32.7.6-20241104234540) ...
Setting up nvidia-l4t-camera (32.7.6-20241104234540) ...
Setting up nvidia-l4t-gstreamer (32.7.6-20241104234540) ...
Processing triggers for nvidia-l4t-kernel (4.9.337-tegra-32.7.6-20241104234540) ...
Processing triggers for libc-bin (2.27-3ubuntu1.6) ...
~/nano_2025/32.7.6/Linux_for_Tegra
Removing QEMU binary from rootfs
Removing stashed Debian packages from rootfs
L4T BSP package installation completed!
Rename ubuntu.desktop --> ux-ubuntu.desktop
Disabling NetworkManager-wait-online.service
Disable the ondemand service by changing the runlevels to 'K'
Success!
xu@ubuntu:~/nano_2025/32.7.6/Linux_for_Tegra$
等待安装完成即可。
7、返回到工作目录32.7.6, 把jetson nano模组补丁文件 overlay_32.7.5_PCN211181.tbz2 拷贝到工作目录下, 执行以下命令解压补丁文件:
xu@ubuntu:~/nano_2025/32.7.6$ sudo tar --overwrite -xvf overlay_32.7.5_PCN211181.tbz2
hardware-nvidia-platform-t210-porg.patch
LICENSE.GPLv2-only
LICENSE.NvidiaProprietary
Linux_for_Tegra/
Linux_for_Tegra/rootfs/
Linux_for_Tegra/rootfs/boot/
Linux_for_Tegra/rootfs/boot/tegra210-p3448-0000-p3449-0000-a01.dtb
Linux_for_Tegra/rootfs/boot/tegra210-p3448-0000-p3449-0000-b00.dtb
Linux_for_Tegra/rootfs/boot/tegra210-p3448-0000-p3449-0000-a00.dtb
Linux_for_Tegra/rootfs/boot/tegra210-p3448-0002-p3449-0000-b00.dtb
Linux_for_Tegra/rootfs/boot/tegra210-p3448-0002-p3449-0000-a02.dtb
Linux_for_Tegra/rootfs/boot/tegra210-p3448-0000-p3449-0000-a02.dtb
Linux_for_Tegra/kernel/
Linux_for_Tegra/kernel/dtb/
Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a01.dtb
Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb
Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a00.dtb
Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb
Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-a02.dtb
Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb
Linux_for_Tegra/bootloader/
Linux_for_Tegra/bootloader/t210ref/
Linux_for_Tegra/bootloader/t210ref/BCT/
Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg
manifest.txt
README-overlay.txt
xu@ubuntu:~/nano_2025/32.7.6$ ls
LICENSE.GPLv2-only LICENSE.NvidiaProprietary Linux_for_Tegra README-overlay.txt Tegra_Linux_Sample-Root-Filesystem_R32.7.6_aarch64.tbz2 hardware-nvidia-platform-t210-porg.patch jetson-210_linux_r32.7.6_aarch64.tbz2 manifest.txt overlay_32.7.5_PCN211181.tbz2
xu@ubuntu:~/nano_2025/32.7.6$
至此jetson nano新版本系统烧录环境搭建完。
三、烧录系统
1、硬件连接
在装有Ubuntu 系统的电脑主机上,通过USB 线连接到需要烧写系统的Jetson 设备上的 OTG 接口,并使 Jetson 设备进入 recovery 模式。
2、烧写系统
每次烧写系统,都需要在装有 Ubuntu 系统的电脑主机上进入到系统烧写目录Linux_for_Tegra下,并在系统烧写目录下执行以下命令:
第一次运行:
$ sudo ./flash.sh <board> mmcblk0p1
之后如果不想在打包文件系统则:
$ sudo ./flash.sh -r <board> mmcblk0p1
即开始烧录系统,board 为指定目标 Jetson 设备的配置,具体如下表:
等待烧录完成即可。
我的板子为nano b01 emmc 版:jetson-nano-devkit-emmc
3、向多个 Jetson 设备中烧录系
NVIDIA 提供了一个工具和说明,用于在工厂环境中高效地刷新 Jetson 设备。
该工具是 Linux BSP 包的一部分,可在系统烧写目录(Linux_for_Tegra)中获得。
使用该工具的说明包含在 README_Massflash.txt 中, 位于同一文件夹中。