Jetson目标平台初始化Skill jetson-init-target

该技能用于创建(author)新的 Jetson 目标平台(target-platform)配置文件,通过选择参考开发套件/模块和闪存配置,可选添加定制载板信息,生成目标平台 YAML,并更新 active_target 活动指针。适用于 Jetson 硬件定制、BSP 前期配置和镜像初始化前的目标定义。关键词:Jetson、目标平台、配置文件、初始化、reference_devkit、custom_carrier、闪存配置、active_target、BSP、硬件定制、YAML。

硬件定制 0 次安装 1 次浏览 更新于 9/7/2026
名称 jetson-init-target
描述 >- 编写一个新的 Jetson 目标平台配置文件(reference_devkit + 可选 custom_carrier),并更新活动指针。用于创建目标;不用于切换现有配置文件。
版本 0.0.1
开源协议 “Apache-2.0” metadata: data-classification: public
作者 “Jetson Team” tags: - target-platform - configuration - meta domain: meta

初始化目标平台(Initialize Target Platform)

概述

本技能用于编写新的目标平台配置文件 YAML,即目标平台契约的写入端。它使用 BSP 平台目录作为产品与闪存配置的标准目录,使用平台模板作为字段模式。流程为:选择参考产品与闪存配置,然后(可选)添加定制载板信息。参考/定制两种场景仅由用户是否提供定制载板信息区分。

范围仅限于 reference_devkit:custom_carrier: 块。其它块(bsp_image:source:documents:)由其它姊妹技能处理。输出为新的 target-platform/<name>.yaml,并默认更新 active_target.yml。如需切换已存在的配置文件,请使用 jetson-set-target

何时调用

  • 用户要求创建/编写/添加新的目标平台配置文件。
  • 下游技能因“无活动目标”拒绝,且 target-platform/ 下还没有任何配置文件时(否则建议使用 jetson-set-target)。
  • 用户想要一个磁盘上不存在的目标配置文件。

执行流程

快速启动预填映射

遵循共享的 quick_start_prefill 契约。本技能使用 quick_start_prefill.target.active_platform 作为所选目录行,使用 quick_start_prefill.target.custom_carrier 作为定制载板意图。若预填缺失/无效/不明确,才提问。

技能如何使用模板

加载 platform_template.yaml,每个占位值带标记:<REQUIRED:描述>(必填,NA 会警告)、<OPTIONAL:描述>(可选,跳过则省略)、<DERIVED:描述>(程序按目录与用户选择填充,不提问)。

检查当前状态

  1. target-platform/ 不存在,则创建并从 active_target_template.yaml 复制为 active_target.yml
  2. 读取 active_target.yml
  3. 列出 target-platform/*.yaml(排除 active_target.yml)。

根据是否存在配置文件的不同情况,确定是继续引导创建还是指示使用 jetson-set-target

读取平台目录

读取 bsp-platforms-catalogue.md,使用“Product / Chip / SKU / Flash Config Mapping”表格作为产品名称、CVM/CVB SKU、默认闪存配置和变体后缀的唯一依据。

选择参考产品(基线)

先打印完整目录列表,按芯片族分组并编号。每个芯片族第一行作为快捷选择,也支持输入数字索引。若硬件是带有这些 Jetson 模块的定制载板,则选择最接近的参考开发套件作为基线。输入 cancel 取消;不允许 skip;键入必须是数字或 cancel

选择闪存配置

目录行中“Default flash conf”为选项 1,“Variants”为选项 2…N。若变体写 (same as <other>),则复用相应行的变体。无变体则使用默认配置继续。

可选:添加定制载板信息

根据 quick_start_prefill.target.custom_carrier 决定是否添加。若意图为 add,通过 AskUserQuestions UI 收集所有缺少的字段:name、id、sku、revision、flash_config。flash_config 建议使用 name 的 kebab-case 加 .conf。SKU 等需要以 YAML 引号保留数字前导零。若用户不知道值,建议读取 /proc/device-tree/chosen/ids;仍不可得则必填字段可填 NA。(模板有意不加 custom_carrier.module/chip_family,模块身份来源于 reference_devkit.module。)

确认

展示生成的 YAML。文件名建议:仅参考时为产品名称的 kebab-case 加 .yaml;含定制载板时为 custom_carrier.name 的 kebab-case 加 .yaml。若重名则询问。初次引导(无任何配置文件)时自动激活,不询问;已有配置则询问是否激活新配置。

写入(及激活)

写入 target-platform/<filename>.yaml,若已存在先询问避免覆盖。若属于引导自动激活或用户接受激活,则编辑 active_target.yml 中的 active: 行(保留注释头)。拒绝激活则保留原样。

再次确认

打印摘要:配置文件路径、活动指针状态、Tegra 家族、是否记录 custom_carrier:,并提醒下游技能会按活动配置文件解析。若无激活,提示使用 jetson-set-target

后续步骤:1) /jetson-init-image 提取 BSP 并附加 bsp_image:;2) /jetson-init-source 克隆仓库;3) /jetson-link-docs(可选)注册文档;然后执行 4) /jetson-generate-kb 生成知识库;5) /jetson-derive-carrier(仅定制载板)物化载板 flash conf/DTSI。

前置条件

  • bsp-platforms-catalogue.mdplatform_template.yaml 可达。
  • target-platform/(及 active_target.yml)有写权限。
  • 如需查询模块/载板信息,可在已启动设备上读取 /proc/device-tree/chosen/ids

限制

  • 仅处理 reference_devkit:custom_carrier:active_target.yml 指针;不写入其它块。
  • 不发明 SKU、模块 ID、载板元数据或闪存配置;不知道必填值时记录 NA 或中止。

故障排除

  • 用户想切换而不是创建:拒绝并指向 jetson-set-target
  • 目录中找不到产品:先在 bsp-platforms-catalogue.md 添加行,不要在本技能内修改产品列表。
  • NA 卡住:用 /proc/device-tree/chosen/ids 获取真实值并重跑。
  • active_target.yml 注释丢失:使用 ruamel.yaml 并从模板恢复。

参考

  • bsp-platforms-catalogue.md —— 产品/闪存配置目录
  • target-platform-contract.md —— 契约
  • platform_template.yaml —— 字段模式
  • active_target_template.yaml —— 活动指针模板
  • 姊妹技能:jetson-set-targetjetson-init-imagejetson-init-sourcejetson-link-docs