Jetson Orin NX 开箱配置与 JetPack 环境搭建完全指南1. 硬件概览Jetson Orin NX 是 NVIDIA 2023 年推出的边缘 AI 计算模组提供 100 TOPS16GB和 70 TOPS8GB两个版本采用 Ampere 架构 GPU ARM Cortex-A78AE CPU支持 PCIe Gen 4、USB 3.2、MIPI CSI-2 等高速接口。核心参数对比参数Orin NX 16GBOrin NX 8GBXavier NXAI 算力100 TOPS70 TOPS21 TOPSGPU1024 CUDA / 32 Tensor Core1024 CUDA / 32 Tensor Core384 CUDA / 48 Tensor CoreCPU8核 ARM A78AE6核 ARM A78AE6核 Carmel内存16GB LPDDR58GB LPDDR58GB LPDDR4x存储NVMe SSDNVMe SSDNVMe SSD功耗10-25W7-20W10-20W价格~$599~$399~$3992. 所需硬件清单在开始之前确保你准备了以下硬件核心组件 ├── Jetson Orin NX 模组16GB 或 8GB ├── 载板NVIDIA 官方 Developer Kit 或第三方如 Seeed reComputer ├── NVMe SSD推荐 256GB 以上需 PCIe Gen 4 ├── 电源适配器19V/45W DC 或 USB-C PD 65W ├── 散热风扇官方散热器或第三方主动散热 ├── microSD 卡32GB用于初始刷机 └── USB-C 数据线用于刷机 外设 ├── 显示器 HDMI/DP 线 ├── USB 键盘鼠标 ├── 网线或 WiFi 模块Intel AX210 推荐 └── CSI 摄像头如 IMX219 / IMX4773. 硬件组装3.1 安装 NVMe SSD步骤 1. 将 Orin NX 模组从防静电袋中取出 2. 找到载板上的 M.2 Key M 插槽通常在底部 3. 将 NVMe SSD 以 30° 角插入 M.2 插槽 4. 用螺丝固定 SSD注意不要过度拧紧 5. 将 Orin NX 模组对准载板的 SO-DIMM 连接器 6. 均匀按下直到卡扣锁定3.2 安装散热方案# 如果使用官方散热器安装步骤1. 在 SoC 表面涂抹薄层导热硅脂推荐信越79212. 将散热器对准螺丝孔位3. 对角线交替拧紧螺丝扭矩0.6N·m4. 连接风扇电源线到载板的 FAN 接口# 第三方散热推荐# - Seeed reComputer J4012 自带散热壳# - 自制铜管散热 5V 风扇3.3 接线确认载板接口检查清单 [✓] 电源接口DC 或 USB-C [✓] HDMI/DP 输出到显示器 [✓] USB 键盘鼠标 [✓] 网线可选推荐初始配置用有线网络 [✓] USB-C 数据线连接到刷机主机Type-C 口非电源口 [✓] 风扇电源线 [✓] CSI 摄像头排线金手指朝下蓝色朝向 PCB 板边4. 刷机方式一SDK Manager推荐4.1 安装 SDK Manager# 在 Ubuntu 20.04/22.04 主机上操作# 下载 SDK Manager需要 NVIDIA 开发者账号# https://developer.nvidia.com/sdk-manager# 安装sudodpkg-isdkmanager_2.1.0-11669_amd64.debsudoapt-getinstall-f# 启动sdkmanager4.2 进入恢复模式进入恢复模式步骤 1. 断开 Jetson 电源 2. 用 USB-C 数据线连接 Jetson 和主机 3. 按住 Recovery 按钮载板上标为 FC_REC 4. 保持按住的同时接通电源 5. 等待 2 秒后松开 Recovery 按钮 # 验证是否进入恢复模式在主机上执行 lsusb | grep -i nvidia # 应该看到ID 0955:7323 NVidia Corp.4.3 SDK Manager 刷机流程SDK Manager 操作步骤 1. 登录 NVIDIA 开发者账号 2. 选择目标硬件Jetson Orin NX 3. 选择 JetPack 版本推荐 JetPack 6.0 / L4T 36.3 4. 选择安装类型 - Runtime仅刷系统推荐网络环境好时选这个 - Full包含所有组件CUDA、cuDNN、TensorRT 等 5. 选择存储设备NVMe SSD推荐 6. 设置用户名和密码 7. 点击 Flash 开始刷机 8. 刷机完成后Jetson 会自动重启 9. SDK Manager 会通过网络继续安装组件4.4 刷机常见问题# 问题1刷机过程中卡在 Flash Jetson Linux# 解决检查 USB 线是否为数据线非充电线换一个 USB 口重试# 问题2刷机后 Jetson 无法启动# 解决检查 NVMe SSD 是否正确识别# 在恢复模式下执行sudo./flash.sh jetson-orin-nx-devkit nvme0n1p1# 问题3组件安装失败CUDA/cuDNN# 解决刷机后在 Jetson 上手动安装sudoaptupdatesudoaptinstall-ycuda-toolkit-12-2 libcudnn8-dev5. 刷机方式二手动刷机高级用户5.1 下载 L4T 驱动包# 下载 L4TLinux for Tegra# 版本选择L4T 36.3 对应 JetPack 6.0wgethttps://developer.nvidia.com/downloads/l4t-jetson-orin-nx-devkit-36.3.0-aarch64.tbz2# 解压tar-xjfJetson_Linux_R36.3.0_aarch64.tbz2cdLinux_for_Tegra5.2 准备根文件系统# 下载 sample root filesystemwgethttps://developer.nvidia.com/downloads/linux-sample-root-filesystem-36.3.0-aarch64.tbz2# 解压到 rootfs 目录sudotar-xjfTegra_Linux_Sample-Root-Filesystem_R36.3.0_aarch64.tbz2-Crootfs/# 安装依赖sudo./tools/l4t-flash-prerequisites.sh# 安装 NVIDIA 驱动sudo./apply_binaries.sh5.3 执行刷机# 确保 Jetson 在恢复模式参考 4.2 节lsusb|grep0955# 刷机到 NVMe SSDsudo./flash.sh jetson-orin-nx-devkit external# 刷机完成后断开 USB重启 Jetson6. 首次启动配置6.1 系统初始化# 首次启动会出现图形化配置界面# 选择语言、时区、WiFi、用户名密码等# 配置完成后打开终端检查系统信息cat/etc/nv_tegra_release# 输出示例# R36 (release), REVISION: 3.0# 检查 JetPack 版本sudoapt-cacheshow nvidia-jetpack# Version: 6.0b876.2 更换国内源# 备份原源sudocp/etc/apt/sources.list /etc/apt/sources.list.bak# 替换为清华源Ubuntu 22.04 arm64sudotee/etc/apt/sources.listEOF deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse EOF# 更新sudoaptupdatesudoaptupgrade-y6.3 安装基础工具# 安装常用工具sudoaptinstall-y\vimgitcurlwgethtoptree\build-essential cmake pkg-config\python3-pip python3-venv python3-dev\libopencv-dev v4l-utils\net-tools wireless-tools\software-properties-common# 配置 pip 国内源mkdir-p~/.pipcat~/.pip/pip.confEOF [global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cn EOF7. 验证 CUDA / cuDNN / TensorRT7.1 CUDA 验证# 检查 CUDA 版本nvcc--version# 应该显示 CUDA 12.2.x# 检查 CUDA 设备nvidia-smi# Jetson 上 nvidia-smi 可能不可用用 tegrastats 代替# 测试 CUDAcat/tmp/test_cuda.cuEOF #include stdio.h __global__ void hello() { printf(Hello from GPU thread %d\n, threadIdx.x); } int main() { hello1, 5(); cudaDeviceSynchronize(); return 0; } EOFnvcc /tmp/test_cuda.cu-o/tmp/test_cuda /tmp/test_cuda# 输出Hello from GPU thread 0-47.2 cuDNN 验证# 检查 cuDNN 版本dpkg-l|grepcudnn# ii libcudnn8 8.9.4.* arm64# 验证 cuDNNpython3-c import ctypes libcudnn ctypes.cdll.LoadLibrary(libcudnn.so) print(cuDNN loaded successfully) # 获取版本 major ctypes.c_int() minor ctypes.c_int() patch ctypes.c_int() libcudnn.cudnnGetVersion.restype ctypes.c_size_t version libcudnn.cudnnGetVersion() major_val version // 1000 minor_val (version % 1000) // 100 patch_val version % 100 print(fcuDNN version: {major_val}.{minor_val}.{patch_val}) 7.3 TensorRT 验证# 检查 TensorRT 版本dpkg-l|greptensorrt# ii libnvinfer8 8.6.2.* arm64# Python 验证python3-c import tensorrt as trt print(fTensorRT version: {trt.__version__}) print(fTensorRT available: {trt.Builder(trt.Logger()) is not None}) 8. 安装 Jetson Stats 监控工具# 安装 jtopJetson 版 htopsudopip3install-Ujetson-stats# 需要重启 systemd 服务sudosystemctl restart jtop.service# 使用 jtop 监控jtop# 界面说明# - INFO系统信息、JetPack 版本# - CTRL功耗模式MAXN/MIN/自定义# - GPUGPU 使用率、频率# - CPU各核心使用率# - MEM内存使用# - TEMP各传感器温度# - DISK磁盘使用# - NET网络流量9. 设置性能模式# 查看当前功耗模式sudonvpmodel-q# 设置最大性能模式Orin NX 16GBsudonvpmodel-m0# 25W, 6核 CPU 最高频# 设置 15W 模式省电sudonvpmodel-m1# 15W, 4核 CPU# 设置 10W 模式最低功耗sudonvpmodel-m2# 10W, 2核 CPU# 解除 CPU/GPU 频率限制配合 nvpmodel 使用sudojetson_clocks# 验证当前状态sudonvpmodel-q--verbose10. SSH 远程连接配置# 在 Jetson 上安装 SSH 服务sudoaptinstall-yopenssh-server# 检查 SSH 状态sudosystemctl statusssh# 获取 Jetson IP 地址hostname-I# 从主机连接sshusername192.168.1.100# 配置无密码登录在主机上执行ssh-keygen-ted25519 ssh-copy-id username192.168.1.100# 配置 VS Code Remote SSH# 1. 安装 VS Code 扩展 Remote - SSH# 2. CtrlShiftP → Remote-SSH: Connect to Host# 3. 输入 username192.168.1.10011. 性能基准测试# 安装测试工具sudoaptinstall-ysysbench# CPU 基准测试sysbench cpu --cpu-max-prime20000--threads8run# 内存测试sysbench memory --memory-total-size10G run# 磁盘 I/O 测试sysbench fileio --file-total-size2G --file-test-moderndrw prepare sysbench fileio --file-total-size2G --file-test-moderndrw run sysbench fileio cleanup# GPU 计算测试python3-c import time import numpy as np # CPU 测试 size 4096 a_cpu np.random.randn(size, size).astype(np.float32) b_cpu np.random.randn(size, size).astype(np.float32) start time.time() for _ in range(10): c_cpu np.matmul(a_cpu, b_cpu) cpu_time (time.time() - start) / 10 print(fCPU matmul: {cpu_time*1000:.1f} ms) # GPU 测试CuPy try: import cupy as cp a_gpu cp.asarray(a_cpu) b_gpu cp.asarray(b_cpu) cp.cuda.Stream.null.synchronize() start time.time() for _ in range(10): c_gpu cp.matmul(a_gpu, b_gpu) cp.cuda.Stream.null.synchronize() gpu_time (time.time() - start) / 10 print(fGPU matmul: {gpu_time*1000:.1f} ms) print(fGPU 加速比: {cpu_time/gpu_time:.1f}x) except ImportError: print(CuPy 未安装跳过 GPU 测试) 12. 常见问题排查12.1 Jetson 无法启动# 检查步骤1. 确认电源适配器功率足够≥45W2. 检查 NVMe SSD 是否正确安装3. 连接串口调试115200 波特率4. 尝试刷入 eMMC如果有恢复# 串口调试sudoaptinstallminicomsudominicom-D/dev/ttyACM0-b11520012.2 WiFi 连接问题# 检查 WiFi 模块是否识别lspci|grep-inetwork# 或lsusb|grep-iwireless# Intel AX210 驱动JetPack 6.0 已内置sudomodprobe iwlwifi# 扫描 WiFisudoiwlist wlan0 scan|grepESSID# 连接 WiFinmcli device wifi connectSSIDpasswordPASSWORD12.3 散热与节流# 查看温度cat/sys/devices/virtual/thermal/thermal_zone*/temp# 输出单位是毫摄氏度如 55000 55°C# 查看是否触发节流cat/sys/devices/platform/soctherm/throttle_oc1/*# 0未节流, 1已节流# 设置风扇转速手动模式echo255/sys/devices/pwm-fan/target_pwm# 0停止, 255全速# 查看实时温度和节流状态tegrastats总结本文涵盖了 Jetson Orin NX 从硬件组装到软件环境搭建的完整流程。核心要点硬件组装NVMe SSD 散热方案是关键刷机方式SDK Manager 简单可靠手动刷机适合批量部署环境验证CUDA cuDNN TensorRT 三件缺一不可性能调优nvpmodeljetson_clocks解锁全部算力远程开发SSH VS Code Remote 是主力开发方式下一篇我们将讲解如何在 Jetson 上使用 TensorRT 加速模型推理。