jetson-print-bsp-info
Affiche un résumé concis d'un arborescence Jetson Linux_for_Tegra (BSP) sur le PC hôte.
Cette skill est destinée à servir d'exemple de référence pour le repo jetson-bsp-skills et la CI skills au niveau NVIDIA. Elle effectue une inspection en lecture seule — pas de flashage, pas de modifications de rootfs.
Purpose
Capturer un instantané de base d'une arborescence BSP Linux_for_Tegra (release, configurations board, état du rootfs) avant le flashage, afin de détecter tôt les problèmes comme « mauvaise version L4T » ou « rootfs jamais peuplé ».
When to use
- Un utilisateur a décompressé une tarball BSP Jetson et souhaite confirmer la version L4T, les boards supportées et l'état du rootfs avant de flasher.
- Vous avez besoin d'une vérification rapide qu'un répertoire
Linux_for_Tegra/semble valide (scripts et fichiers de configuration attendus présents).
Prerequisites
- Exécution sur le PC hôte (Linux), pas sur la cible Jetson.
- Un répertoire
Linux_for_Tegra/extrait d'une tarball BSP Jetson. - CLIs standard disponibles :
ls,head,cat,paste,sed.
Inputs
L4T_ROOT(optionnel) : chemin absolu vers le répertoireLinux_for_Tegra/. Si non défini, utiliser le répertoire de travail courant.
Instructions
Exécuter chaque étape dans l'ordre et imprimer les valeurs capturées dans le rapport affiché sous Output format.
- Résoudre
L4T_ROOTet valider que le répertoire est une racine Linux_for_Tegra — quitter tôt sinon.flash.shetnv_tegra/sont les deux artefacts d'ancrage que chaque BSP fournit :L4T_ROOT="${L4T_ROOT:-$PWD}" if [ ! -f "$L4T_ROOT/flash.sh" ] || [ ! -d "$L4T_ROOT/nv_tegra" ]; then echo "Not a Linux_for_Tegra root: '$L4T_ROOT' (missing flash.sh or nv_tegra/)" exit 1 fi echo "$L4T_ROOT" - Extraire la ligne d'en-tête de la release L4T. L'emplacement canonique côté hôte est
nv_tegra/nv_tegra_release; le même fichier est copié dans le rootfs parapply_binaries.sh. Seule la première ligne est utile — le reste est une longue liste de SHAs de bibliothèques :head -1 "$L4T_ROOT/nv_tegra/nv_tegra_release" 2>/dev/null \ || head -1 "$L4T_ROOT/rootfs/etc/nv_tegra_release" 2>/dev/null \ || echo "L4T release info not found" - Lister les fichiers de configuration board supportés et les joindre sur une ligne séparée par des virgules :
(cd "$L4T_ROOT" && ls *.conf 2>/dev/null) | paste -sd, - - Vérifier si le rootfs a été peuplé. Un
rootfs/vide signifie queapply_binaries.shn'a pas encore été exécuté :if [ -f "$L4T_ROOT/rootfs/etc/passwd" ]; then echo "populated" else echo "empty" fi
Output format
Afficher un court rapport avec ces sections, une ligne chacune si possible :
L4T root: <path>
L4T release: <release header line>
Board configs: <comma-separated list>
Rootfs: populated | empty
Examples
Exemple de sortie sur un BSP Orin AGX (L4T R36) :
L4T root: $HOME/Linux_for_Tegra
L4T release: # R36 (release), REVISION: 3.0
Board configs: jetson-agx-orin-devkit.conf,jetson-orin-nano-devkit.conf
Rootfs: populated
Exemple de sortie sur un BSP fraîchement décompressé où apply_binaries.sh n'a pas encore été exécuté :
L4T root: /tmp/Linux_for_Tegra
L4T release: # R39 (release), REVISION: 0.0
Board configs: jetson-agx-thor-devkit.conf
Rootfs: empty
Error handling
Chaque commande se replie sur une chaîne clairement étiquetée "... not found" si le fichier sous-jacent est manquant — la skill ne génère jamais d'erreur en milieu de rapport. Si L4T_ROOT ne contient pas flash.sh et nv_tegra/, quitter tôt avec un message clair « not a Linux_for_Tegra root » plutôt que d'afficher des informations trompeuses.
Limitations
- Inspection en lecture seule uniquement — ne valide pas les signatures, images kernel ou device-tree overlays.
- Vérifie uniquement la présence de
rootfs/etc/passwdcomme proxy de rootfs peuplé ; ne détectera pas un rootfs partiellement peuplé. - Énumère tous les fichiers de configuration board
*.confdansL4T_ROOT/; ne tente pas de déduire lequel l'utilisateur a l'intention de flasher.
Troubleshooting
-
Error:
Not a Linux_for_Tegra root: '...' (missing flash.sh or nv_tegra/)Cause:L4T_ROOTpointe vers un répertoire parent, un rootfs extrait, ou un chemin sans rapport. Solution: PointerL4T_ROOTvers le répertoire qui contientflash.sh(généralementLinux_for_Tegra/). -
Error:
L4T release info not foundCause: Ninv_tegra/nv_tegra_releasenirootfs/etc/nv_tegra_releasen'existe — la tarball BSP peut être incomplète ouapply_binaries.shn'a jamais été exécuté. Solution: Réextraire la tarball BSP ou exécuterapply_binaries.shpour peupler le rootfs.
Notes
- Ne pas modifier aucun fichier. Cette skill est en lecture seule.
- Si plusieurs fichiers de configuration board existent, les énumérer tous — ne pas tenter de deviner lequel l'utilisateur a l'intention de flasher.