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). nvpmodeldisponible 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.
- 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" - 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 - Exécute
nvpmodel -qet fusionne ses deux lignes de sortie (NV Power Mode: <name>et le numéro du mode) sur une seule ligne.paste -sdn'utilise que le premier caractère de son délimiteur, donc utiliseawkpour 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" - Affiche la version du kernel et le uptime :
uname -r uptime -p - 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
nvpmodelvarie 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 directoryCause: 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 foundCause: L4T BSP non installé, ou exécution dans un conteneur minimal sansnvpmodel. 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/modelne 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.