Jetson BSP 镜像验证器
验证刷写后的 Jetson BSP 镜像及目标设备状态。
证据显示支持 profile/env/prompt 分层解析、密码不写入 YAML、SSH 主机密钥固定、UART 锁冲突默认拒绝,并对 sudo 和文件传输作出安全说明。扣分原因是 on-target 命令可使用 sudo,auth=prompt 可能把密码暴露在对话日志中,默认 accept-new 首次信任仍有风险,缺少明确的用户执行确认、回滚方案和更细的最小权限约束;未见红线风险。
证据显示 UART 脚本定义了退出码、超时、探测、锁检查、提示符哨兵和依赖失败反馈。扣分原因是主流程明确标为 skeleton,静态检查、测试套件选择、结果汇总和通过策略未实现;文档声明支持 --shell-prompt,但脚本 CLI 未定义该参数;未见覆盖关键路径的测试或 CI。因此按静态评估限制不超过 10 分。
证据显示目标用户、触发条件、静态与 on-target 两种范围、SSH/UART 传输和不适用的构建/刷写步骤较清楚。扣分原因是测试套件、输入输出契约和非适用边界仍不完整,中文支持未声明;依赖本地 Jetson 主机、DUT、SSH/UART、pyserial 和特定 BSP 环境,通用可达性有限。核心功能不依赖海外在线服务。
证据显示有 frontmatter 名称、版本、Apache-2.0、引用文档、示例、限制、排障表及 benchmark。扣分原因是 skill-card 宣称 CC-BY-4.0 AND Apache 2.0,与 frontmatter 的单一许可证表述不一致;作者缺少规范邮箱,benchmark 已指出 author_format 问题;未见 changelog、明确维护责任或稳定更新路径,且核心过程仍是骨架。
证据显示设计目标是验证 BSP 静态产物和运行中 DUT,且列出了较有价值的 initramfs、模块、内核和 dmesg 检查。扣分原因是实际流程和结果策略尚未完成,输出仍需代理补足大量判断;benchmark 仅有 2 个正向任务,Correctness 为 45%/55%、Effectiveness 为 24%,缺乏直接可用结果的充分证据。按静态评估限制不超过 7 分。
证据包括提交的 UART 实现、引用契约、2 个评估任务和 benchmark 报告,具备一定审计线索。扣分原因是没有提交的测试套件、CI 覆盖或可复现执行日志,benchmark 样本极小且无负向任务;关键静态检查和主流程未被独立复现。按静态评估限制不超过 5 分。
- 该 skill 明确是 skeleton;不要把文档中的检查清单当作已实现的自动化验证器。
- 执行 on-target 验证前确认 DUT、sudo 权限、凭据来源和日志范围;auth=prompt 或 sudo.method=prompt 可能把密码写入对话日志。
- 修复 --shell-prompt 文档与脚本 CLI 不一致,并补充关键路径测试、CI、结果格式和通过/失败策略。
- 核对 Apache-2.0 与 CC-BY-4.0 的适用范围,以及作者和维护责任信息。
这个 Skill 能做什么,适合哪些场景?
此技能用于在 jetson-flash-image 完成后验证 NVIDIA Jetson BSP 镜像。它支持针对主机磁盘上 BSP 的静态检查,以及通过 SSH 或 UART 对已刷写设备执行目标端检查。检查内容包括工件、内核、模块、initramfs、分区布局、启动状态和选定测试。当前技能仍是骨架,DUT 访问契约和 UART 辅助脚本已锁定,但完整静态检查清单、测试套件选择和判定策略可能变化。
读取活动目标平台配置和 bsp_image 路径;检查 Linux_for_Tegra 下的必要工件、DTB/模块校验信息、分区布局及暂存输出;比较内核 Image、rootfs 模块和 initramfs 内容的一致性;通过 SSH 或 UART 连接 DUT,并执行 uname -r 与 cat /etc/nv_tegra_release 探针;确认设备进入 userspace,运行用户选择的 smoke、regression、定向或临时测试;检查已加载模块的 srcversion、运行中的内核与 rootfs Image 的版本一致性,并以 sudo 读取 dmesg;汇总检查结果、日志和工件位置。
- Jetson BSP 定制并刷写设备后,工程师需要确认镜像正确落盘并成功启动。
- CI 流水线在交付定制批次前,需要执行静态 BSP 检查和目标设备验证。
- 没有网络连接的 Jetson DUT 需要通过 UART 执行启动探针和测试。
- 内核或模块刚被重新构建后,需要排查 initramfs、rootfs 和正在运行版本之间的漂移。
这个 Skill 有哪些优点和局限?
- 同时覆盖 BSP 磁盘工件和已刷写 DUT。
- 支持 SSH 与 UART 两种同等目标设备传输方式。
- 包含内核、模块、initramfs 和 vermagic 一致性检查,能发现常见的旧镜像或旧模块问题。
- 提供连接探针、密码环境变量约束和主机密钥处理规则。
- SKILL.md 明确标注为骨架,静态检查清单、测试套件选择、结果存储和判定策略仍可能变化。
- UART 通过 base64 传输,约为 10 KB/s;超过 100 KB 会警告,且多命令验证效率较低。
- 需要已刷写且启动到 userspace 的 DUT;该技能不负责构建或刷写。
- 源提示没有提供平台覆盖、实际测试结果或成本信息。
如何安装这个 Skill?
使用仓库 README 支持的 skills CLI 安装:npx skills add nvidia/skills --skill jetson-validate-image --yes。也可以指定客户端,例如:npx skills add nvidia/skills --skill jetson-validate-image --agent codex --yes。安装后,相关 Agent 下次加载技能时即可使用。
如何使用这个 Skill?
在已完成 jetson-flash-image 后触发,例如:“validate bsp”或“run on-target validation”。静态验证示例:/jetson-validate-image,然后指定“static checks only against the staged BSP”。目标验证需要活动配置中的 bsp_image,并在配置中提供 dut_access,或在运行时补充传输、凭据和 sudo 信息。完整测试套件、结果存储布局和通过/失败政策尚未文档化。
这个 Skill 与同类方案有什么区别?
该技能将 SSH 与 UART 作为两种完整的 DUT 访问方式;SSH 适合高容量传输和较多命令,UART 适合 DUT 无网络或 SSH 不可用的场景。