mcpField
J
jetson-print-device-info

jetson-print-device-info

github.com/nvidia测试与质量3.8k1.1k 次安装今天更新
代码仓库

关于 jetson-print-device-info

jetson-print-device-info 是供 Jetson 开发与测试流程使用的只读技能,可在设备上生成软件栈和电源模式基线报告。它检查设备型号、L4T、内核、运行时间和操作系统版本,并在非 Jetson 设备上提前退出。

主要功能

  1. 01识别 Jetson 设备型号
  2. 02读取 L4T 版本
  3. 03记录电源模式
  4. 04输出内核、运行时间和 OS 版本
  5. 05缺少可选命令时提供回退信息

适用场景

  1. 01性能测试前记录设备基线
  2. 02核对新刷写设备的 L4T 或 JetPack 版本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nvidia/skills --skill jetson-print-device-info

安装后在 Claude Code 中输入/jetson-print-device-info确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json

详细介绍

jetson-print-device-info

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

此技能旨在作为 jetson-device-skills 仓库和 NVIDIA 全面技能 CI 的参考示例。它在 Jetson 目标设备上运行(而非主机 PC),并执行只读检查,可用作运行性能测试前的基线记录。

用途

在运行性能、回归或兼容性测试前,记录 Jetson 目标设备的软件栈和电源模式基线快照。

使用时机

  • 开始性能测试,并希望记录设备软件栈和电源模式的基线。
  • 验证刚刷机的 Jetson 是否符合预期的 L4T / JetPack 版本。

先决条件

  • 在 Jetson 目标设备上运行(而非主机 PC)。
  • 可使用标准 CLI:tr、cat、uname、uptime、lsb_release(或 /etc/os-release)。
  • 可使用 nvpmodel 获取电源模式(可选 — 技能会妥善回退)。

输入

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

说明

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

  1. 捕获模块型号,并验证它是 Jetson 目标设备 — 否则提前退出:
    # Device-tree strings are null-terminated, so strip NULs before printing.
    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"
    # Equivalent: 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 型号字符串 — 应检测到这种情况并清楚提示后退出,而不是打印误导性信息。

评论

支持 Markdown