当前位置: 首页 > news >正文

Jetson Orin Nano(5): 升级系统

在机器人业界,ROS2已经成为了事实上的主流。主流ROS版本与Ubuntu的对应关系如下:

ROS版本ROS类型对应Ubuntu版本Ubuntu代号支持状态适用说明
Noetic NinjemysROS 1 (最终版)20.04 LTSFocal Fossa支持至2025年5月最后一代ROS 1,适合维护老项目,新项目不建议采用。
Foxy FitzroyROS 220.04 LTSFocal Fossa已停止维护曾用于过渡,现已过时。
Galactic GeocheloneROS 220.04 LTSFocal Fossa已停止支持短期版本,不推荐。
Humble HawksbillROS 222.04 LTSJammy Jellyfish支持至2027年5月当前最稳定的LTS版本,社区活跃,资源丰富,是新项目的首选。
Iron IrwiniROS 222.04 LTSJammy Jellyfish已停止支持短期版本,已过时。
Jazzy JaliscoROS 224.04 LTSNoble Numbat支持至2029年5月最新的LTS版本,支持更新的特性(如更好的实时性),适合新平台。
Kilted KaijuROS 224.04 LTSNoble Numbat支持至2026年11月标准版,引入了对Zenoh中间件的一级支持 。

Ubuntu 22.04 LTS + ROS 2 Humble是目前最均衡、支持周期最长、社区最活跃的组合 。为了更好的搭载主流的ROS2版本,需要升级系统。本文记录ubuntu系统升级到v22遇到的问题。

安装教程参考:https://www.bilibili.com/video/BV1udwNeZENB/?vd_source=f3f10bbf02d727403abe6c49769bffce

这个教程使用了虚拟机。其实如果有一台ubuntu的PC,直接使用PC也是可以的。我是后者。

1. 硬件连接

使用USB-C线,并将其连接到Jetson板子上的type-C 接口, 这个接口是用于烧录的专用接口。完成以上操作后,在你的Ubuntu PC上打开终端,输入lsusb命令。如果看到类似ID 0955:7523 NVIDIA Corp. APX的设备信息,说明板子已成功被识别。

在烧录过程中,遇到问题: could not detect a board

这是一个低级错误。在连接jetson和ubuntu主机时,我把两头都用usb连接的。

2. 进入强制恢复模式

Orin Nano正常启动会加载 eMMC 或 SSD 里的系统。以下情形需要进入 Force Recovery 模式:

  • 重装系统(如从 Ubuntu 20.04 升级到 22.04)

  • 变砖后恢复

  • 更新引导加载程序(Bootloader)

这个模式下的 Jetson 会被主机识别为一个 APX 设备(通过lsusb可以看到NVIDIA Corp. APX),然后 SDK Manager 或flash.sh才能与它通信并写入系统。

  1. 首先,确保设备已完全断电。

  2. 使用一个跳线帽,将 Button Header 上的 Pin 9 和 Pin 10 短接 。

  3. 接通电源给设备上电。此时,系统就会以强制恢复模式启动。

  4. 启动后,可以拔掉跳线帽。

3. jetpack not detected

烧录好ubuntu22以后,进入系统。运行jtop, 结果显示:jetpack not detected

第一步:确认JetPack是否存在

  1. 检查L4T版本:JetPack的版本信息其实是和底层的L4T(Linux for Tegra)系统深度绑定的。运行以下命令查看你的L4T release信息:

    cat /etc/nv_tegra_release
  2. 检查JetPack元包:运行下面的命令,查看JetPack相关的软件包是否已安装:

    dpkg -l | grep nvidia-jetpack

    如果这个命令有输出,列出了一些以nvidia-jetpack开头的软件包,那就可以100%确定你的JetPack已经安装成功了,问题就只出在jtop的检测上。

  3. 记下输出的版本号:这是关键信息。如图:

结果有输出,说明JetPack已安装,系统一切正常,只是jtop的检测逻辑出了偏差。通常有两个原因:要么是jtop版本太旧或有一个已知的bug,要么是它的版本对应关系数据文件没有更新。

第二步:修复映射关系

  • 方法1:使用一键修复脚本更新jtop需要的版本信息文件。重启后再次运行jtop

    git clone https://github.com/jetsonhacks/jetson-jtop-patch.git cd jetson-jtop-patch chmod +x apply_jtop_fix.sh ./apply_jtop_fix.sh sudo reboot
  • 方法2:升级jetson-stats:jtopjetson-stats工具包的一部分,将其升级到最新版可以解决很多已知问题。然后重启系统运行jtop

    sudo -H pip3 install -U jetson-stats sudo systemctl restart jetson_stats.service

如果上述方法1和方法2都不管用,则需要手动编辑jtop的版本映射文件。jtop通过一个字典文件来查找 L4T 版本对应的 JetPack 版本。如果这个字典里没有你的 L4T 版本号,它就会显示 "MISSING"。需要手动把它加进去。

  1. 打开jetson_variables.py文件

    sudo vi /usr/local/lib/python3.10/dist-packages/jtop/core/jetson_variables.py
  2. 定位并添加版本映射
    在文件中找到NVIDIA_JETPACK

    NVIDIA_JETPACK = { # -------- JP6 -------- "36.4.3": "6.2", "36.4.2": "6.1 (rev1)", "36.4.0": "6.1", }

    根据你在第一步查到的 L4T 版本号,添加新的一行。如上面的图,我的版本是:

    "36.5.0": "6.2.2",
  3. 重启jtop服务并验证:修改完成后,需要重启服务使配置生效。

    sudo systemctl restart jtop.service

    然后再次运行jtop,JetPack 版本已正确显示。

http://www.jsqmd.com/news/495517/

相关文章:

  • 霜儿-汉服-造相Z-Turbo代码实例:Python调用Xinference API生成江南庭院古风写真
  • 【IEEE出版、EI稳定检索】2026年第三届先进机器人,自动化工程与机器学习国际会议(ARAEML 2026)
  • Spring Cloud Java后端面试题精选 - Day 9
  • Qwen3-TTS-Tokenizer-12Hz实战分享:如何将音频高效压缩为离散tokens
  • StructBERT文本相似度WebUI:零基础3分钟上手,轻松判断句子相似度
  • GPEN在AI内容生产中的应用:Stable Diffusion出图后人脸精修流程
  • Deliberate模型全解析:从价值定位到效能突破的实践指南
  • 三轴CNC自动编程入门实用指南:附靠谱厂家工具推荐
  • MiniCPM-o-4.5-nvidia-FlagOS生产环境:GPU资源隔离与多租户图文服务调度方案
  • Phi-3-Mini-128K多轮对话效果深度评测:上下文保持与逻辑一致性
  • 算法专题笔记------一篇讲明白 LeetCode三数之和与四数之和
  • 工厂制造运营:从流程管理到系统协同的演进
  • 智能预测引擎从0到1实战指南:MiroFish群体智能系统全解析
  • 数据中心U位管理与CMDB系统的协同机制及实践
  • 吹风机产品实拍视频全流程:从脚本策划到成片交付,一步到位
  • STM32版FX2N源码与原理图解析:C语言编译的PLC通信程序移植与应用指南
  • 从零到一:DolphinScheduler部署实战与高频“拦路虎”攻克指南
  • 金仓数据库在MySQL迁移中的技术观察:协议兼容与平滑替换的实践路径
  • KART-RERANK卷积神经网络原理关联检索:CV论文与代码实现智能匹配
  • Puerts技术演进:跨引擎交互架构升级与多平台战略布局
  • 快速上手Qwen2.5-7B微调:单卡10分钟,打造专属对话机器人
  • 一键分发生产厂家
  • eSUN易生×联泰科技!柔弹性3D打印方案正式发布
  • Janus-Pro-7B效果震撼展示:中国风山水、皮克斯动画、照片级真实
  • 3dsMax2020必备插件:一键解决材质混乱与贴图重复问题(附安装教程)
  • Puerts技术演进蓝图:连接游戏引擎与TypeScript的下一代桥梁
  • “双碳”目标下的能源管理:TDengine时序数据库如何构建企业碳足迹database
  • STM32开发必看:Keil中printf卡死?MicroLIB勾选+串口重定向保姆级教程
  • cJSON内存管理全指南:从cJSON_free到cJSON_Delete的正确使用姿势
  • ESP32+PS4手柄打造低成本机器人遥控器:避坑指南与完整代码分享