2. IGX开发环境搭建

IGX Orin 开发者套件出厂时通常只带引导固件,真正的机器人视觉与控制开发环境需要从 JetPack SDK 开始搭建。JetPack 是 NVIDIA 为 Jetson/IGX 系列提供的软件栈集合,包含 L4T(Linux for Tegra)底层系统、CUDA、TensorRT、cuDNN、VPI、DeepStream 以及 Holoscan SDK 等组件。IGX Orin 面向工业与医疗机器人场景,其 JetPack 版本与对应 L4T 版本、CUDA 版本存在严格绑定关系,因此第一步不是急着刷机,而是先确认版本矩阵。

以 IGX Orin 开发者套件(搭载 Jetson AGX Orin 64GB 模组)为例,常见可用组合为 JetPack 6.x 系列,对应 L4T 36.x、CUDA 12.x、TensorRT 8.6/10.x。版本选错会导致 Holoscan 或 DeepStream 无法安装,或摄像头驱动不匹配。建议在 NVIDIA 官方 JetPack 归档页确认目标版本后,再下载对应的 SDK Manager 与 BSP 包。

宿主机准备与 SDK Manager 安装

刷机需要一台 Ubuntu 宿主机(推荐 Ubuntu 20.04 或 22.04,与目标 JetPack 版本匹配),因为 SDK Manager 只支持 Ubuntu。宿主机需预留约 60GB 以上磁盘空间,并具备可用的 USB 3.0 接口。安装流程如下:

# 1. 下载 SDK Manager 的 .deb 包后安装
sudo apt install ./sdkmanager_2.x.x-xxxx_amd64.deb

# 2. 启动(需登录 NVIDIA Developer 账号)
sdkmanager

# 3. 在 GUI 中选择:
#    Product Category: Jetson
#    Target Hardware: IGX Orin / Jetson AGX Orin
#    JetPack 版本: 6.x
#    Host Components + Target Components 均勾选

SDK Manager 会分两阶段执行:先在宿主机安装 Host Components(CUDA 工具链、刷机工具等),再通过 USB-C 连接将 Target Components 刷入 IGX Orin。若网络受限,可提前下载离线包并在 SDK Manager 中指定本地路径。

IGX Orin 开发者套件进入恢复模式

刷机前必须让模组进入 Force Recovery 模式,否则宿主机无法识别设备。IGX Orin 开发者套件的操作要点是:先断开电源,按住 Recovery 按钮不放,再接入电源,保持约 2 秒后松开。此时用 USB-C 线连接套件的调试口与宿主机,执行 lsusb 应能看到 NVIDIA 的 0955:7023 或类似设备 ID,说明已进入恢复模式。若看不到设备,优先检查线缆是否为数据线、USB 口是否为直连而非 Hub 扩展。

系统烧录与首次启动

在 SDK Manager 中确认目标设备被识别后,选择存储介质(IGX Orin 通常为内置 NVMe SSD),点击 Flash。烧录过程约 15~30 分钟,期间不要断电或拔线。烧录完成后设备会自动重启,进入 Ubuntu 首次配置:设置用户名、密码、时区,并选择是否安装 SDK 组件。首次启动后建议立即执行系统更新并检查关键组件版本:

# 查看 L4T 版本
cat /etc/nv_tegra_release

# 查看 CUDA 与 TensorRT
nvcc --version
dpkg -l | grep tensorrt

# 查看 Holoscan(若已安装)
dpkg -l | grep holoscan

若 nvcc 报错,通常是环境变量未加载,可在 ~/.bashrc 中追加 export PATH=/usr/local/cuda/bin:$PATH 与 export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH。判断烧录是否成功,最直接的依据是系统能正常进入桌面、nvidia-smi 或 tegrastats 能读到 GPU 与功耗信息。

基础外设连接与验证

IGX Orin 开发者套件的接口包括千兆/万兆以太网、USB 3.2、DisplayPort、CSI 摄像头接口、M.2 扩展槽以及 40-pin 或工业 IO 排针。机器人视觉项目最常用的外设是 GMSL2 相机与以太网相机。连接时注意:GMSL2 相机需通过专用解串板接入,CSI 相机则直接插入 CSI 排线,排线金属面朝向需与接口标识一致,插反会损坏模组。

外设验证建议按“先看设备节点、再看数据流”的顺序进行。USB 相机插入后执行 ls /dev/video* 应出现 video0 等节点;GMSL2 相机需确认解串器驱动加载,可用 dmesg | grep -i max 查看 MAX9296 等解串芯片日志。以太网相机则通过 ping 与厂商 SDK 的枚举工具确认连通。下面这张图概括了从宿主机到 IGX Orin 再到外设的完整搭建链路与关键检查点。

IGX Orin 开发环境搭建链路与检查点 Ubuntu 宿主机 • Ubuntu 20.04 / 22.04 • SDK Manager 安装 • 磁盘 ≥ 60GB • USB 3.0 直连口 • NVIDIA 账号登录 检查:lsusb 识别 0955:xxxx USB-C 刷机 IGX Orin 开发者套件 • Force Recovery 模式 • L4T 36.x / JetPack 6.x • CUDA 12.x + TensorRT • NVMe SSD 烧录 • Holoscan / DeepStream 检查:tegrastats 读到 GPU CSI / GMSL2 基础外设 • GMSL2 相机 + 解串板 • CSI 相机排线 • 以太网相机 • USB 3.2 外设 • DisplayPort 显示 检查:/dev/video* 节点 版本绑定关系(示例,需以官方归档为准) JetPack 6.x L4T 36.x CUDA 12.x TensorRT 8.6/10.x Holoscan SDK DeepStream 7.x 驱动匹配 MAX9296 等 常见失败点与判断依据 ① 未进 Recovery 模式 → lsusb 无 NVIDIA 设备;② 线缆非数据线 → 识别不稳定; ③ 版本不匹配 → Holoscan 安装报依赖错误;④ CSI 排线插反 → 无 /dev/video 节点且 dmesg 报 I2C 超时。

完成上述步骤后,一个可用的 IGX Orin 开发环境就基本就绪。此时建议做一次端到端自检:用 tegrastats 观察 GPU/CPU 占用,用 v4l2-ctl --list-devices 枚举相机,用 python3 -c "import tensorrt" 验证推理库可导入。若这三项都通过,说明系统烧录、驱动加载与外设连接均已正常,可以进入后续的视觉算法与机器人控制开发。

刷机过程中若 SDK Manager 卡在 “Waiting for target to boot-up”,多数是 Recovery 模式未保持或 USB 线接触不良。可重新插拔 USB-C 并确认 lsusb 中设备 ID 稳定出现后再重试。