| 名称 | 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:
tr、cat、uname、uptime、lsb_release(或/etc/os-release)。 - 功率模式使用
nvpmodel可用(可选——技能会优雅地回退)。
输入
无。本技能仅从本地Jetson文件系统和标准CLI读取信息。
操作说明
按顺序执行每个步骤,并将捕获的值打印到输出格式下显示的报告中。
- 捕获模块型号并验证它是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" - 提取L4T发布头行——跳过文件的其余部分(一长串库SHA):
head -1 /etc/nv_tegra_release 2>/dev/null || echo "L4T release info not found" # 等价:grep -m1 '^# R' /etc/nv_tegra_release - 运行
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" - 打印内核版本和运行时间:
uname -r uptime -p - 打印操作系统版本(优先使用
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型号字符串——检测到这一点并以清晰消息退出,而不是打印误导信息。