Jetson设备信息打印Skill jetson-print-device-info

该技能运行在Jetson边缘设备上,用于获取并打印当前设备的模块型号、L4T(Linux for Tegra)版本、操作系统版本、内核和功率模式等关键信息,适用于性能测试前的环境基线采集、设备配置核对与故障排查。技能为只读操作,无需额外输入,并在nvpmodel缺失等情况下优雅回退。关键词:Jetson设备信息、L4T版本、功率模式、系统基线、平台管理诊断、边缘计算、Jetson设备打印。

平台管理与诊断 0 次安装 0 次浏览 更新于 9/6/2026
名称 jetson-print-device-info
描述 当需要从正在运行的Jetson目标上打印Jetson设备信息(模块型号、L4T版本、内核、操作系统版本、当前功率模式)时使用。这是一个示例技能。
版本 0.0.1
开源协议 “Apache-2.0” metadata:
作者 “Jetson Team” tags: [jetson, device, info] languages: [bash] data-classification: public

jetson-print-device-info

打印该技能所运行的Jetson设备的简明摘要。

本技能旨在作为 jetson-device-skills 仓库和NVIDIA全公司技能CI的参考示例。它在Jetson目标上(而不是宿主PC上)运行,并执行只读检查——用作在运行性能测试前的基线捕获。

目的

在运行性能、回归或兼容性测试之前,捕获Jetson目标软件栈和功率模式的基线快照。

使用时机

  • 开始一次性能运行,并希望捕获设备软件栈和功率模式的基线。
  • 验证新烧录的Jetson是否与预期的L4T / JetPack版本一致。

先决条件

  • 在Jetson目标上运行(不是宿主PC)。
  • 可用的标准CLI:trcatunameuptimelsb_release(或/etc/os-release)。
  • 功率模式使用nvpmodel可用(可选——技能会优雅地回退)。

输入

无。本技能仅从本地Jetson文件系统和标准CLI读取信息。

操作说明

按顺序执行每个步骤,并将捕获的值打印到输出格式下显示的报告中。

  1. 捕获模块型号并验证它是Jetson目标——否则提前退出:
    # 设备树字符串以null结尾,所以在打印前去除NUL。
    model=$(tr -d '\0' < /proc/device-tree/model 2>/dev/null)
    case "$model" in
      *Jetson*) ;;
      *) echo "Not running on a Jetson target (model: '${model:-unknown}')"; exit 1 ;;
    esac
    echo "$model"
    
  2. 提取L4T发布头行——跳过文件的其余部分(一长串库SHA):
    head -1 /etc/nv_tegra_release 2>/dev/null || echo "L4T release info not found"
    # 等价:grep -m1 '^# R' /etc/nv_tegra_release
    
  3. 运行nvpmodel -q其两行输出(NV Power Mode: <name>和模式编号)合并为一行。paste -sd仅使用其分隔符的第一个字符,因此使用awk插入字面量/分隔符:
    nvpmodel -q 2>/dev/null | awk 'NR==1{a=$0; next} {print a\" / \"$0}' \
      || echo "nvpmodel not available"
    
  4. 打印内核版本和运行时间:
    uname -r
    uptime -p
    
  5. 打印操作系统版本(优先使用lsb_release,回退到/etc/os-release):
    lsb_release -ds 2>/dev/null || (. /etc/os-release && echo "$PRETTY_NAME") || echo "OS version not found"
    

输出格式

打印一份简短报告,尽可能每节一行:

Model:           <device-tree model string>
L4T release:     <release header line>
Power mode:      <nvpmodel name> / <mode number>
Kernel:          <uname -r>
Uptime:          <uptime -p>
OS
version: <lsb_release / /etc/os-release output>

示例

在Orin AGX开发者套件(L4T R36 / Ubuntu 22.04)上的示例输出:

Model:           NVIDIA Jetson AGX Orin Developer Kit
L4T release:     # R36 (release), REVISION: 3.0
Power mode:      NV Power Mode: MAXN / 0
Kernel:          5.15.136-tegra
Uptime:          up 2 hours, 14 minutes
OS
version: Ubuntu 22.04.4 LTS

在AGX Thor(L4T R39 / Ubuntu 24.04)上的示例输出:

Model:           NVIDIA Jetson AGX Thor Developer Kit
L4T release:     # R39 (release), REVISION: 0.0
Power mode:      NV Power Mode: 120W / 1
Kernel:          6.8.0-tegra
Uptime:          up 12 minutes
OS
version: Ubuntu 24.04 LTS

错误处理

如果底层文件或二进制文件缺失,每个命令都会回退到带有清晰标签的 "... not found" / "... not available" 字符串——该技能永远不会在报告中途出错。如果 /proc/device-tree/model 缺失或不包含Jetson字符串,则提前退出,并显示清晰的“not running on a Jetson target”消息。

局限性

  • 仅为只读检查——不检测GPU/CPU时钟、热状态或各轨功率。
  • nvpmodel 输出格式在不同L4T版本间会有差异;该技能原样打印,而不进行解析。

故障排除

  • 错误: /proc/device-tree/model: No such file or directory 原因: 在宿主PC上运行,而不是Jetson目标。 解决方案: 直接在Jetson设备上运行该技能(例如通过SSH)。

  • 错误: nvpmodel: command not found 原因: 未安装L4T BSP,或在不含nvpmodel的精简容器中运行。 解决方案: 这在非Jetson或精简环境中是预期的——该技能会打印 "nvpmodel not available" 并继续。

备注

  • 只读。不要更改功率模式、安装包或修改任何文件。
  • 如果误在宿主PC上调用该技能,/proc/device-tree/model 不包含Jetson型号字符串——检测到这一点并以清晰消息退出,而不是打印误导信息。