Jetson 定制载板派生
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/jetson-derive-carrier。
技能介绍
要解决什么问题
在 NVIDIA Jetson 的 LinuxforTegra 工作流里,换一块定制载板并不等于改几个文件名。参考开发套件(DevKit)的烧录配置、MB1/MB2 BCT、nvpmodel / nvfancontrol 以及 nvpower.sh 里的机器分支,都绑在参考载板的 pNNNN 命名和变量上。若不做系统性的「派生」,下游 customize-* 技能要么找不到目标路径,要么会把全局 sed 改坏——例如把本不该动的 DTB_FILE、SCR_CONFIG 指到根本不存在的文件。
本技能是定制载板上 customize-* 技能的首次运行门控:按 target-platform-contract.md 解析活动目标,在 custom_carrier: 与叠加跟踪器 .git 就绪的前提下,把参考载板文件集映射到你的载板 ID/SKU,并建立 DT 叠加层 连接,而不是复制或重写基础内核 DTB。
技能如何工作
- 发现:单次批量扫描烧录配置变量、BCT
.dts、nvpmodel/nvfancontrol 配置及 nvpower.sh 锚点,列表不截断,避免漏匹配。 - 模板批提交:载板烧录配置、符号链接、MB1/MB2 BCT 等从参考路径直接复制到定制载板重命名路径;参考命名的原始文件从不进入叠加跟踪器暂存。烧录配置内仅定向重写本技能派生文件对应的 RHS(如
PINMUX_CONFIG、MB2_BCT),并追加OVERLAY_DTB_FILE+=。 - hardware 侧:新建 DT overlay 骨架(
compatible含定制载板令牌)、在 overlay Makefile 注册dtbo-y,再单独提交叠加层连接行。 - nvpower.sh:在 cvb 级联、模块-SKU、nvpmodel/nvfancontrol 分支插入定制载板逻辑,使运行时读到 overlay 里的 compatible。
- 每次 git commit 前走提交消息预览门;即使字节相同也实现重命名派生,避免「看起来没改就跳过」导致目标路径未跟踪。
边界与注意
- 内核基础 DTB 及源 DTS 不派生;载板差异应通过 OVERLAYDTBFILE 叠加上去,换参考 BSP 时重跑本技能即可刷新派生层。
- BPMP DTB 默认不派生(选择加入);多数载板仍共用参考 BPMP。
- 定制载板 ID 不必是 NVIDIA 风格
pNNNN;模块级 pinmux、PCIe 等增量应交给对应的 jetson-customize-* 技能,而非本技能。
使用场景
- 参考 DevKit 烧录已验证,要把烧录配置、BCT 与 nvpmodel 从参考载板令牌重命名映射到自家 custom_carrier id/sku。
- 活动配置已填写 custom_carrier 且完成 jetson-init-source,在首次运行 jetson-customize-* 前需先完成载板文件集派生门控。
- L4T 参考 BSP 升级后,对同一定制载板在 Linux_for_Tegra 叠加跟踪器中重跑派生,刷新定向变量与 OVERLAY_DTB_FILE 连接。
- 新载板不使用 NVIDIA pNNNN 命名,仍需生成 overlay 骨架、Makefile 注册 dtbo,并补丁 nvpower.sh 读取 compatible。
适合人员
- 维护 OEM Jetson 载板量产烧录流程的 BSP 工程师,需把 reference_devkit 每板文件集一次性派生到 custom_carrier 路径。
- 在 bsp_sources/hardware 提交 overlay 与 Makefile 补丁的硬件生态工程师,担心 flash.sh 因缺少 .dtbo 中途中止。
- 用 target-platform-contract 统一管理模块、参考载板与定制载板 SKU 的嵌入式集成负责人。
- 从参考 p4071 类开发套件迁移到自研载板、且需在 git 提交前预览每批派生 commit 消息的操作员。