关于 jetson-print-bsp-info
jetson-print-bsp-info 是用于在 Linux 主机上只读检查 Jetson Linux_for_Tegra BSP 目录的技能。它报告 L4T 版本、板级配置文件及 rootfs 是否已填充。
主要功能
- 01验证 Linux_for_Tegra 目录
- 02读取 L4T 版本头信息
- 03列出板级配置文件
- 04检查 rootfs 填充状态
- 05输出简明状态报告
适用场景
- 01解包 BSP 后检查目录
- 02刷写前确认 L4T 版本
- 03检查 apply_binaries.sh 是否填充 rootfs
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nvidia/ skills --skill jetson-print-bsp-info安装后在 Claude Code 中输入/jetson-print-bsp-info确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.json详细介绍
jetson-print-bsp-info
在主机 PC 上打印 Jetson Linux_for_Tegra(BSP)目录树的简要摘要。
此技能旨在作为 jetson-bsp-skills 仓库和 NVIDIA 全局技能 CI 的参考示例。它只执行只读检查,不会刷写设备或更改 rootfs。
用途
在刷写前,采集 Linux_for_Tegra BSP 目录树的基线快照(版本、开发板配置、rootfs 状态),以便尽早发现“L4T 版本错误”或“rootfs 从未填充”等问题。
适用场景
- 用户已解压 Jetson BSP tarball,并想在刷写前确认 L4T 版本、受支持的开发板和 rootfs 状态。
- 需要快速检查
Linux_for_Tegra/目录是否有效(是否包含预期的脚本和配置文件)。
先决条件
- 在主机 PC(Linux)上运行,而非在 Jetson 目标设备上运行。
- 已从 Jetson BSP tarball 解压出
Linux_for_Tegra/目录。 - 可使用标准 CLI:
ls、head、cat、paste、sed。
输入
L4T_ROOT(可选):Linux_for_Tegra/目录的绝对路径。若未设置,则使用当前工作目录。
说明
按顺序执行每个步骤,并将捕获的值打印到 输出格式 中所示的报告。
- 解析
L4T_ROOT,并验证该目录是 Linux_for_Tegra 根目录;否则提前退出。flash.sh和nv_tegra/是每个 BSP 都包含的两个锚点文件: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" - 提取 L4T 版本头部行。主机端的标准位置是
nv_tegra/nv_tegra_release;同一文件也会由apply_binaries.sh复制到 rootfs 中。只有第一行有用,其余内容是很长的库 SHA 列表: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" - 列出受支持的开发板配置文件,并将它们合并为一行逗号分隔的内容:
(cd "$L4T_ROOT" && ls *.conf 2>/dev/null) | paste -sd, - - 检查 rootfs 是否已填充。空的
rootfs/表示尚未运行apply_binaries.sh:if [ -f "$L4T_ROOT/rootfs/etc/passwd" ]; then echo "populated" else echo "empty" fi
输出格式
打印一份简短报告,包含以下部分;尽可能每部分单独一行:
L4T root: <path>
L4T release: <release header line>
Board configs: <comma-separated list>
Rootfs: populated | empty
示例
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
在尚未运行 apply_binaries.sh 的全新解压 BSP 上的示例输出:
L4T root: /tmp/Linux_for_Tegra
L4T release: # R39 (release), REVISION: 0.0
Board configs: jetson-agx-thor-devkit.conf
Rootfs: empty
错误处理
如果底层文件缺失,每条命令都会回退到带有明确标签的 "... not found" 字符串;此技能不会在报告生成过程中途报错。如果 L4T_ROOT 中没有 flash.sh 和 nv_tegra/,则提前退出并显示清晰的“not a Linux_for_Tegra root”消息,而不是打印误导性信息。
限制
- 仅执行只读检查;不验证签名、内核镜像或设备树覆盖文件。
- 仅将
rootfs/etc/passwd是否存在作为 rootfs 已填充的判断依据;无法检测只填充了一部分的 rootfs。 - 列出
L4T_ROOT/中所有*.conf开发板配置;不会尝试推断用户打算刷写哪个配置。
故障排除
-
错误:
Not a Linux_for_Tegra root: '...' (missing flash.sh or nv_tegra/)原因:L4T_ROOT指向父目录、已解压的 rootfs 或无关路径。 解决方案: 将L4T_ROOT指向包含flash.sh的目录(通常是Linux_for_Tegra/)。 -
错误:
L4T release info not found原因:nv_tegra/nv_tegra_release和rootfs/etc/nv_tegra_release均不存在;BSP tarball 可能不完整,或尚未运行apply_binaries.sh。 解决方案: 重新解压 BSP tarball,或运行apply_binaries.sh以填充 rootfs。
注意事项
- 不要修改任何文件。此技能为只读。
- 如果存在多个开发板配置文件,请全部列出;不要猜测用户打算刷写哪一个。