jetson-print-device-info

Par nvidia · skills

Utilisez ce skill lorsque vous avez besoin d'afficher les informations d'un appareil Jetson (modèle du module, version L4T, noyau, version du système d'exploitation, mode d'alimentation actuel) depuis une cible Jetson en cours d'exécution. Il s'agit d'un exemple de skill.

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

jetson-print-device-info

Affiche un résumé concis du périphérique Jetson sur lequel cette skill s'exécute.

Cette skill est destinée à servir d'exemple de référence pour le repo jetson-device-skills et le CI des skills à l'échelle NVIDIA. Elle s'exécute sur la cible Jetson (pas le PC hôte) et effectue une inspection en lecture seule — utile comme capture de base avant d'exécuter des tests de performance.

Purpose

Capturer un snapshot de base de la stack logicielle et du mode d'alimentation d'une cible Jetson avant d'exécuter des tests de performance, de régression ou de compatibilité.

When to use

  • Au démarrage d'une série de tests de performance, pour capturer une base de référence de la stack logicielle et du mode d'alimentation du périphérique.
  • Pour vérifier qu'un Jetson fraîchement flashé correspond à une version L4T / JetPack attendue.

Prerequisites

  • Exécution sur une cible Jetson (pas le PC hôte).
  • CLIs standards disponibles : tr, cat, uname, uptime, lsb_release (ou /etc/os-release).
  • nvpmodel disponible pour le mode d'alimentation (optionnel — la skill se dégrade gracieusement).

Inputs

Aucun. La skill lit uniquement depuis le filesystem local de la Jetson et des CLIs standards.

Instructions

Exécute chaque étape dans l'ordre et affiche les valeurs capturées dans le rapport montré sous Output format.

  1. Capture le modèle du module et valide que c'est une cible Jetson — sinon quitte tôt :
    # Les chaînes de l'arbre des appareils sont terminées par null, donc supprime les NULs avant d'afficher.
    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. Extrait la ligne d'en-tête de la version L4T — ignore le reste du fichier (longue liste de SHA de bibliothèques) :
    head -1 /etc/nv_tegra_release 2>/dev/null || echo "L4T release info not found"
    # Équivalent : grep -m1 '^# R' /etc/nv_tegra_release
  3. Exécute nvpmodel -q et fusionne ses deux lignes de sortie (NV Power Mode: <name> et le numéro du mode) sur une seule ligne. paste -sd n'utilise que le premier caractère de son délimiteur, donc utilise awk pour insérer le séparateur / littéral :
    nvpmodel -q 2>/dev/null | awk 'NR==1{a=$0; next} {print a" / "$0}' \
      || echo "nvpmodel not available"
  4. Affiche la version du kernel et le uptime :
    uname -r
    uptime -p
  5. Affiche la version de l'OS (préfère lsb_release, se replie sur /etc/os-release) :
    lsb_release -ds 2>/dev/null || (. /etc/os-release && echo "$PRETTY_NAME") || echo "OS version not found"

Output format

Affiche un court rapport avec ces sections, une ligne chacune si 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

Exemple de sortie sur un kit de développement 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

Exemple de sortie sur un 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

Chaque commande se replie sur une chaîne clairement étiquetée "... not found" / "... not available" si le fichier ou le binaire sous-jacent est manquant — la skill ne génère jamais d'erreur au milieu du rapport. Si /proc/device-tree/model est manquant ou ne contient pas de chaîne Jetson, quitte tôt avec un message clair « not running on a Jetson target ».

Limitations

  • Inspection en lecture seule uniquement — ne détecte pas les horloges GPU/CPU, l'état thermique ou la puissance par rail.
  • Le format de sortie de nvpmodel varie selon les versions de L4T ; la skill l'affiche tel quel plutôt que de le parser.

Troubleshooting

  • Error: /proc/device-tree/model: No such file or directory Cause: Exécution sur un PC hôte, pas une cible Jetson. Solution: Exécute la skill directement sur le périphérique Jetson (par exemple via SSH).

  • Error: nvpmodel: command not found Cause: L4T BSP non installé, ou exécution dans un conteneur minimal sans nvpmodel. Solution: Attendu sur des environnements non-Jetson ou dépouillés — la skill affiche "nvpmodel not available" et continue.

Notes

  • Lecture seule. Ne change pas le mode d'alimentation, n'installe pas de paquets et ne modifie aucun fichier.
  • Si la skill est invoquée sur un PC hôte par erreur, /proc/device-tree/model ne contiendra pas une chaîne de modèle Jetson — détecte cela et quitte avec un message clair plutôt que d'afficher des infos trompeuses.

Skills similaires