基于Jetson rin nano 部署yolov11、Tensorrt、CUDA、cuDNN、ONNX模型推理环境
一、导语(踩坑记录)
本文将详细讲解如何在Jetson rin nano平台上部署yolo11自训练模型的tensorrt推理环境,在CSDN上搜了很多方案,踩了无数坑,发现适配性很差,而且各种库层层依赖,软件兼容性差。
1.方法一(不推荐):手动在 Jetson 上安装 JetPack 组件
在 Jetson 终端运行以下命令:
sudo apt update
sudo apt install nvidia-jetpack
报错
(base) nvidia@tegra-ubuntu:~/Desktop$ sudo apt install nvidia-jetpack
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package nvidia-jetpack
原因是软件源没有配置好,需修改nvidia-l4t-apt-source.list源,解决步骤参考链接: link
2.方法二(极其不推荐):根据Jetson rin nano出厂刷机时的jetpack版本挨个下载和安装环境
(用jtop看自己的版本) 安装jtop
sudo apt install python3-pip
sudo -H pip3 install -U jetson-stats
sudo reboot
jtop
可以看到是jetpack 5.1.4,然后去英伟达官网找到匹配的核心组件版本,然后分别去安装cuda 、TENSORRT、cudnn等组件, 官网链接: link
上述安装方法导致的结果就是费时费力,并且存在版本缺失与不匹配的情况。
官网安装方案如链接: link
缺点:依旧报错软件源的问题
E: Unable to locate package nvidia-jetpack
3.方法三(极其推荐):Install Jetson Software with SDK Manager
在下个章节详细说明
二、基于SDK Manager的官方安装步骤
官网安装步骤参考链接: link
中文安装步骤参考阿木实验室: link
但是依旧有很多坑,在下一章列出所有排查思路。
三、超级详细步骤+Buglist+解决方案
1.超级详细步骤
- 1 去官网 下载SDK Manager,注意要对应自己的ubuntu版本。
打开SDK Manager后
1.2拔掉jeson orin nano的电源线
1.3使用USB线缆连接ORIN的OTG-USB端口与Ubuntu系统开发主机的USB端口
1.4将REC按键按下不松开,然后给系统供电,按键保持3秒以上,释放REC按键;
1.5在主机终端bash面输入
lsusb
显示
peter@peter-MS-7E07:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 096: ID 0955:7523 NVIDIA Corp. APX
Bus 001 Device 069: ID 3554:f58e
Bus 001 Device 086: ID 0b05:1ab5 ASUSTek Computer, Inc.
Bus 001 Device 067: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 004: ID 0db0:d1d7 Micro Star International USB Audio
Bus 001 Device 003: ID 0e8d:7612 MediaTek Inc. 802.11ac WLAN
Bus 001 Device 002: ID 1462:7e07 Micro Star International MYSTIC LIGHT
Bus 001 Device 007: ID 0489:e10a Foxconn / Hon Hai
Bus 001 Device 008: ID 87ad:70db
Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
从 lsusb 的输出来看,成功连接了 Jetson 设备,看到典型的 NVIDIA 设备(ID 为 0955:7f21 NVIDIA Corp), APX设备就是 Jetson 在刷机模式下的标志,说明你的数据线 支持数据传输且连接正常,设备识别没问题。。
Bus 001 Device 096: ID 0955:7523 NVIDIA Corp. APX
说明你的 Jetson Orin Nano 已经成功进入 Recovery 模式
1.6 在主机中打开SDM Manager,并且选择需要刷写的版本(Jetson 5.1.3)选择好了之后,点击 CONTINUE 进入下一步;
1.7 选择需要安装的应用
确保这三个核心组件都有勾上。点击i accept 后 点击 CONTINUE 进入下一步;
1.8 在安装时一定要选择NVMe,New Username 和 New Password就是用户名和登录密码,可以自定义的。
1.9等待下载完成,但是扩展组件可能还没装完。
就显示Could not detect a board (refresh)
很多人到了这一步就懵了,阿木教程以及官方售后建议是直接点击SKIP跳过,但是,CUDA和TENSORRT等组件还没安装,换了4条数据线也无济于事,实际上查看终端打印信息,
SDK Manager is about to install SDK components on your Jetson Orin Nano module
To install SDK components on your Jetson Orin Nano module:
Complete the Ubuntu 'System configuration wizard' on your Jetson Orin Nano modules, if you have chosen to configure it manually before flashing.
Wait for the OS login screen.
If proxy is used on host, also configure apt proxy on your Jetson Orin Nano modules.
Enter the username and password of your Jetson Orin Nano modules.
Connection:
USB
Could not detect a board(refresh)
IP Address:
IPv4
192.168.55.1
For USB Ethernet device(only support single device connected), please use the default 192.168.55.1
For the target device connected via Ethernet cable, please use <ipv4_address>
Username:
amov
When selecting automatic setup, the username and password of the target is needed.
Password:
•
When selecting automatic setup, the username and password of the target is needed.
Target Proxy Settings:
Do not set proxy
* Proxy for apt commands should be defined at target path: /etc/apt/apt.conf.d/proxy.conf
Click 'Install' to continue.
发现Jetson Orin Nano 刷机完成、重启进入系统后 的 SDK 组件安装阶段,也就是安装 CUDA、cuDNN、TensorRT、OpenCV 等 SDK 部分。
但提示:
Could not detect a board (refresh)
说明主机和 Jetson 之间的连接出了问题,但是按照之前步骤重启后又能正常连接,所以怀疑是要改变连接方式,采用SSH远程网络连接。
1.10 正常上电重启Jeson orin nano,用HDMI插到显示器上,将Jeson与刚刚烧录用的PC连上同一个wifi,然后查看Jeson orin nano的网络ip地址,Jeson orin nano不要下电。1.11 将显示器切换回烧录的pc端,刚刚报错Could not detect a board (refresh)的界面
将Connection 选为Ethernet ,ip地址复制粘贴刚刚查到的IP地址,然后点击install就可以继续下载了,完美解决
全部下载成功
2.buglist+解决思路
2.1 BUG:Could not detect a board (refresh),不弹出检测到设备的界面。
解决思路:
(1)检查系统电源是否用电池供电,电池电压不够,电压不够会导致烧录失败和连接不稳定
✅改用原装电源线供电可解决上述问题。
(2)你用的是 USB 数据线,不是充电线(不少线只能充电,不能传输数据)。
✅ 尝试换一个 USB 数据线。
✅ 插在 主机背后的 USB 3.0 接口,避免 USB 集线器。
✅ 尝试在关机状态下 先连好线再开机。
2.2 BUG:没进入Recovery 模式
在主机终端bash面输入
lsusb
显示
peter@peter-MS-7E07:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 094: ID 0955:7523 NVIDIA Corp. 802.11ac WLAN
Bus 001 Device 069: ID 3554:f58e
Bus 001 Device 086: ID 0b05:1ab5 ASUSTek Computer, Inc.
Bus 001 Device 067: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 004: ID 0db0:d1d7 Micro Star International USB Audio
Bus 001 Device 003: ID 0e8d:7612 MediaTek Inc. 802.11ac WLAN
Bus 001 Device 002: ID 1462:7e07 Micro Star International MYSTIC LIGHT
Bus 001 Device 007: ID 0489:e10a Foxconn / Hon Hai
Bus 001 Device 008: ID 87ad:70db
Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
peter@peter-MS-7E07:~$
从 lsusb 的输出来看,虽然你连接了 Jetson 设备,但并没有看到典型的 NVIDIA 设备(ID 为 0955:7f21)且没有APX标志。我看到的是:
Bus 001 Device 094: ID 0955:7523 NVIDIA Corp. 802.11ac WLAN
这个设备看起来是 Jetson 上的 无线网络适配器,而不是 Recovery 模式下的 Jetson 主板。
解决思路:
(1)尝试在关机状态下 先连好线再开机。先按着REC按键按下不松开,再上电,保持3秒以上再松开。
(2)检查是否为数据线,是否插了USB 集线器,扩展坞
✅ 尝试换一个 USB 数据线。
✅ 尝试直连电脑的usb3.0端口,不用扩展坞或者集线器。
2.3 BUG:Could not detect a board (refresh),加载完系统不安装组件
installation of target SDK components was skipped
解决思路:
✅ 使用SSH连接刷机
步骤如下:
(1)插上 Jetson,确保它已经启动 + 已联网(与PC连在同一个网段),查看IP地址。
(2)重新打开 SDK Manager,选择与你刷机时一样的版本(比如 JetPack 5.1.3)
(3)到最后一页,它会检测到已经刷过系统,只安装 “Target Components”
(4)正常连接 SSH(将Connection 选为Ethernet ,填 刚刚查到的Jetson 的 IP)
(5)安装完成后,Jetson 上就有完整的 CUDA 等开发环境了
四.烧录与环境安装心得
1.优先查看英伟达官网,学习官方环境搭建与安装教程。
2.使用CSDN环境部署的教程前一定确认好库的依赖以及软件兼容性问题,否则很浪费时间。
3.向官方售后寻求技术支持,索要技术资料,积极沟通,但是技术支持并不一定全对。最好做到走一步check一步。
4.减少使用国内AI分析调试BUG,搜索优先级Google>github>csdn>baidu,AI使用优先级 chatGPT>deepseek>kimi