jetson-print-bsp-info

par nvidia

Utilisez lorsque vous devez imprimer les informations BSP Jetson (version L4T, configurations de la carte, état du rootfs) depuis une racine Linux_for_Tegra sur le PC hôte. Ceci est un exemple de compétence.

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

jetson-print-bsp-info

Prints a concise summary of a Jetson Linux_for_Tegra (BSP) tree on the host PC.

This skill is intended as a reference example for the jetson-bsp-skills repo and the NVIDIA-wide skills CI. It performs read-only inspection — no flashing, no rootfs changes.

Purpose

Capture a baseline snapshot of a Linux_for_Tegra BSP tree (release, board configs, rootfs state) before flashing, so issues like "wrong L4T version" or "rootfs never populated" are caught early.

When to use

  • A user has unpacked a Jetson BSP tarball and wants to confirm the L4T version, supported boards, and rootfs state before flashing.
  • You need a quick sanity check that a Linux_for_Tegra/ directory looks valid (expected scripts and config files present).

Prerequisites

  • Running on the host PC (Linux), not on the Jetson target.
  • A Linux_for_Tegra/ directory extracted from a Jetson BSP tarball.
  • Standard CLIs available: ls, head, cat, paste, sed.

Inputs

  • L4T_ROOT (optional): absolute path to the Linux_for_Tegra/ directory. If unset, use the current working directory.

Instructions

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

  1. Resolve L4T_ROOT and validate the directory is a Linux_for_Tegra root — exit early otherwise. flash.sh and nv_tegra/ are the two anchor artifacts that every BSP ships:
    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"
    
  2. Extract the L4T release header line. The canonical host-side location is nv_tegra/nv_tegra_release; the same file is copied into the rootfs by apply_binaries.sh. Only the first line is useful — the rest is a long list of library SHAs:
    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"
    
  3. List supported board config files and join them onto one comma-separated line:
    (cd "$L4T_ROOT" && ls *.conf 2>/dev/null) | paste -sd, -
    
  4. Check whether the rootfs has been populated. An empty rootfs/ means apply_binaries.sh has not been run yet:
    if [ -f "$L4T_ROOT/rootfs/etc/passwd" ]; then
      echo "populated"
    else
      echo "empty"
    fi
    

Output format

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

L4T root:        <path>
L4T release:     <release header line>
Board configs:   <comma-separated list>
Rootfs:          populated | empty

Examples

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

Example output on a freshly untarred BSP where apply_binaries.sh has not been run yet:

L4T root:        /tmp/Linux_for_Tegra
L4T release:     # R39 (release), REVISION: 0.0
Board configs:   jetson-agx-thor-devkit.conf
Rootfs:          empty

Error handling

Each command falls back to a clearly labeled "... not found" string if the underlying file is missing — the skill never errors out mid-report. If L4T_ROOT does not contain flash.sh and nv_tegra/, exit early with a clear "not a Linux_for_Tegra root" message rather than printing misleading info.

Limitations

  • Read-only inspection only — does not validate signatures, kernel images, or device-tree overlays.
  • Only checks the presence of rootfs/etc/passwd as a populated-rootfs proxy; will not detect a half-populated rootfs.
  • Lists all *.conf board configs in L4T_ROOT/; does not try to infer which one the user intends to flash.

Troubleshooting

  • Error: Not a Linux_for_Tegra root: '...' (missing flash.sh or nv_tegra/) Cause: L4T_ROOT points at a parent directory, an extracted rootfs, or an unrelated path. Solution: Point L4T_ROOT at the directory that contains flash.sh (typically Linux_for_Tegra/).

  • Error: L4T release info not found Cause: Neither nv_tegra/nv_tegra_release nor rootfs/etc/nv_tegra_release exists — the BSP tarball may be incomplete or apply_binaries.sh was never run. Solution: Re-extract the BSP tarball or run apply_binaries.sh to populate the rootfs.

Notes

  • Do not modify any files. This skill is read-only.
  • If multiple board config files exist, list all of them — do not try to guess which one the user intends to flash.

Plus de skills de nvidia

compileiq-debug
nvidia
Utilisez quand quelque chose ne va pas : Search() bloque, toutes les évaluations retournent INVALID_SCORE, les scores ne s'améliorent pas, chaque configuration retourne le même nombre, erreurs ptxas…
create-github-pr
nvidia
Créer des pull requests GitHub en utilisant l'interface en ligne de commande gh. Utiliser lorsque l'utilisateur souhaite créer une nouvelle PR, soumettre du code pour révision, ou ouvrir une pull request. Mots-clés de déclenchement -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Analyse les autres problèmes ouverts pour trouver ceux qu’une PR donnée pourrait également corriger ou casser accidentellement. Génère des opportunités de correctifs adjacents et des risques de contradiction avec fichier:ligne…
fhir-basics
nvidia
Apprend aux agents comment fonctionnent les API FHIR R4, quelles ressources sont disponibles, comment les interroger avec des paramètres de recherche, et comment analyser correctement tous les formats de réponse…
compileiq-validate-result
nvidia
Utiliser APRÈS qu'une recherche soit terminée et AVANT de réclamer un accélérateur ou d'expédier un ACF. Charge le CSV dump_results, extrait les K meilleurs candidats (mono-objectif)…
changelog-audit
nvidia
Auditer le CHANGELOG.md de Warp avant une publication : récupérer les entrées perdues, trier par impact utilisateur, affiner le langage des entrées, ajuster les retours à la ligne et (en mode branche de publication) mettre à jour la comparaison…
maintain-dynamic-plugins
nvidia
Maintenir les chargeurs de plugins dynamiques NeMo Relay, les manifestes, les SDK natifs Rust, le protocole worker gRPC, le SDK worker Python, la documentation, les tests et la couverture du workflow de publication
dgx-diagnose
nvidia
Diagnostiquer les problèmes courants du DGX Station GB300 — plantages CUDA, ciblage incorrect du GPU, bugs de conteneur vLLM/SGLang, problèmes d'état MIG, erreurs NVLink/Fabric Manager,…