Agent Skill · NVIDIA NIM

jetson-print-device-info

Use when you need to print Jetson device info (module model, L4T version, kernel, OS version, current power mode) from a running Jetson target. This is an example skill.

Provider: NVIDIA NIM Path in repo: skills/jetson-print-device-info/SKILL.md

Skill body

jetson-print-device-info

Prints a concise summary of the Jetson device this skill runs on.

This skill is intended as a reference example for the jetson-device-skills repo and the NVIDIA-wide skills CI. It runs on the Jetson target (not the host PC) and performs read-only inspection — useful as a baseline capture before running performance tests.

Purpose

Capture a baseline snapshot of a Jetson target’s software stack and power mode before running performance, regression, or compatibility tests.

When to use

Prerequisites

Inputs

None. The skill reads only from the local Jetson filesystem and standard CLIs.

Instructions

Run each step in order and print the captured values into the report shown under Output format.

  1. Capture the module model and validate it is a Jetson target — exit early otherwise:
    # 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. Extract the L4T release header line — skip the rest of the file (long list of library SHAs):
    head -1 /etc/nv_tegra_release 2>/dev/null || echo "L4T release info not found"
    # Equivalent: grep -m1 '^# R' /etc/nv_tegra_release
    
  3. Run nvpmodel -q and join its two output lines (NV Power Mode: <name> and the mode number) onto one line. paste -sd only uses the first char of its delimiter, so use awk to insert the literal ` / ` separator:
    nvpmodel -q 2>/dev/null | awk 'NR==1{a=$0; next} {print a" / "$0}' \
      || echo "nvpmodel not available"
    
  4. Print the kernel version and uptime:
    uname -r
    uptime -p
    
  5. Print the OS version (prefer lsb_release, fall back to /etc/os-release):
    lsb_release -ds 2>/dev/null || (. /etc/os-release && echo "$PRETTY_NAME") || echo "OS version not found"
    

Output format

Print a short report with these sections, one line each where possible:

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>

Examples

Example output on an Orin AGX dev kit (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

Example output on an 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

Error handling

Each command falls back to a clearly labeled "... not found" / "... not available" string if the underlying file or binary is missing — the skill never errors out mid-report. If /proc/device-tree/model is missing or does not contain a Jetson string, exit early with a clear “not running on a Jetson target” message.

Limitations

Troubleshooting

Notes

Skill frontmatter

version: 0.0.1 license: Apache-2.0 metadata: {"author" => "Jetson Team", "tags" => ["jetson", "device", "info"], "languages" => ["bash"], "data-classification" => "public"}