jetson-init-target
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseInitialize Target Platform
初始化目标平台
Overview
概述
This skill authors a new target-platform profile YAML — the
write-side of the contract in
. It uses
as the canonical product / flash-config catalogue and
as the field schema.
../../context/target-platform-contract.md../../references/bsp-platforms-catalogue.md../../references/platform_template.yamlFlow is linear: pick a reference product + flash config, then
optionally add custom-carrier details. The two contract cases —
reference-only vs reference + custom carrier — are distinguished only
by whether the user provides custom-carrier details; there is no
up-front mode prompt.
Scope is and only. Sibling
skills own the other blocks: →
; →
; →
.
reference_devkit:custom_carrier:bsp_image:jetson-init-imagesource:jetson-init-sourcedocuments:jetson-link-docsOutputs: a new and (by default) an
updated pointing at it. To switch among
already-authored profiles, use sibling .
target-platform/<name>.yamlactive_target.ymljetson-set-target本技能用于创建新的目标平台配置YAML文件——对应中契约的写入端。它以作为标准产品/闪存配置目录,并以作为字段 schema。
../../context/target-platform-contract.md../../references/bsp-platforms-catalogue.md../../references/platform_template.yaml流程为线性:选择参考产品+闪存配置,然后可选添加自定义载板详情。两种契约场景——仅参考配置 vs 参考配置+自定义载板——仅通过用户是否提供自定义载板详情来区分,无需提前选择模式。
仅负责和部分。其他模块由关联技能负责: → ; → ; → 。
reference_devkit:custom_carrier:bsp_image:jetson-init-imagesource:jetson-init-sourcedocuments:jetson-link-docs输出:新的文件,以及默认情况下更新后的(指向该新文件)。如需在已创建的配置文件间切换,请使用关联技能。
target-platform/<name>.yamlactive_target.ymljetson-set-targetWhen to invoke
调用时机
- The user asks to create / author / add a new target platform profile.
- A downstream skill refused with "no active target" and
contains no profile YAML files yet (otherwise prefer
target-platform/).jetson-set-target - The user wants a target whose profile does not yet exist on disk.
- 用户要求创建/编写/添加新的目标平台配置文件时。
- 下游技能返回“无活动目标”错误,且目录下无配置YAML文件时(否则优先使用
target-platform/)。jetson-set-target - 用户需要的目标配置文件尚未在本地磁盘存在时。
Procedure
操作流程
Quick-start prefill mapping
快速启动预填充映射
Follow the shared
contract.
This skill consumes:
quick_start_prefill- as the selected catalogue row when it resolves to exactly one product.
quick_start_prefill.target.active_platform - as the custom-carrier intent.
quick_start_prefill.target.custom_carrier
If resolves to one catalogue row, use it directly. Do
not re-ask reference-product or flash-config questions; use the row's
default flash config unless the prefill names a catalogue variant. Ask
only when the prefill is missing, invalid, ambiguous, or names an unknown
variant.
active_platform遵循共享的契约。本技能会使用:
quick_start_prefill- :当它解析为唯一产品时,作为选中的目录行。
quick_start_prefill.target.active_platform - :作为自定义载板的意图。
quick_start_prefill.target.custom_carrier
如果解析为唯一目录行,则直接使用。无需再次询问参考产品或闪存配置问题;除非预填充指定了目录变体,否则使用该行的默认闪存配置。仅当预填充缺失、无效、模糊或指定了未知变体时,才需要询问用户。
active_platformHow the skill consumes the template
技能如何使用模板
Load
once at skill startup and treat it as the schema for prompted blocks.
Each placeholder value carries one of three sentinel markers:
../../references/platform_template.yaml| Marker | Behavior |
|---|---|
| Prompt the user. Value must be provided; |
| Prompt the user. Value may be skipped (Enter or |
| Filled programmatically from |
Use the marker description as the prompt text verbatim. Match markers
with the regex after YAML
parsing strips the surrounding quotes.
^<(REQUIRED|OPTIONAL|DERIVED):\s*(.*)>$Block-level inclusion () is decided by the skill
flow, not by markers — adding/removing fields inside a block is
a template-only change.
custom_carrier在技能启动时加载,并将其作为提示模块的schema。每个占位符值带有以下三种标记之一:
../../references/platform_template.yaml| 标记 | 行为 |
|---|---|
| 提示用户输入。必须提供值;接受 |
| 提示用户输入。可跳过(按Enter或输入 |
| 根据 |
直接使用标记描述作为提示文本。在YAML解析去除周围引号后,使用正则表达式匹配标记。
^<(REQUIRED|OPTIONAL|DERIVED):\s*(.*)>$模块级别的包含(如)由技能流程决定,而非标记——添加/移除模块内的字段仅需修改模板。
custom_carrierSurvey current state
检查当前状态
- If does not exist, create it and copy
target-platform/to../../references/active_target_template.yaml(notetarget-platform/active_target.ymlextension)..yml - Read .
target-platform/active_target.yml - List (excluding
target-platform/*.yaml).active_target.yml
| Situation | Action |
|---|---|
| No profile YAMLs exist | Proceed — this is the bootstrap case. The new profile will be set as |
Profiles exist, | Show the list of existing profiles and confirm the user wants to author a new one (rather than activate one of the existing profiles via |
Profiles exist, | Show the active profile and the full list. Ask whether the user wants to (a) author a new profile alongside, or (b) switch to one of the existing profiles via |
| Tell the user the pointer is broken; offer to author a new profile (and replace the pointer) or to fix the pointer manually. |
- 如果目录不存在,则创建该目录,并将
target-platform/复制到../../references/active_target_template.yaml(注意扩展名是target-platform/active_target.yml)。.yml - 读取文件。
target-platform/active_target.yml - 列出文件(排除
target-platform/*.yaml)。active_target.yml
| 场景 | 操作 |
|---|---|
| 无配置YAML文件 | 继续操作——这是初始化场景。新配置文件会在“写入”步骤自动设置为 |
存在配置文件, | 显示现有配置文件列表,并确认用户是否要创建新配置文件(而非通过 |
存在配置文件, | 显示当前活动配置文件及完整列表。询问用户是要(a)创建新配置文件并存放在旁,还是(b)通过 |
| 告知用户指针已损坏;提供创建新配置文件(并替换指针)或手动修复指针的选项。 |
Read the platforms catalogue
读取平台目录
Read .
Parse the "Product / Chip / SKU / Flash Config Mapping" table — that
is the source of truth for product names, CVM/CVB SKUs, default flash
confs, and variant suffixes. Do not scan
or parse conf filenames; the catalogue already collapses that.
../../references/bsp-platforms-catalogue.mdLinux_for_Tegra/*.conf读取。解析**“产品/芯片/SKU/闪存配置映射”**表格——这是产品名称、CVM/CVB SKU、默认闪存配置和变体后缀的权威来源。请勿扫描或解析配置文件名;目录已整合相关信息。
../../references/bsp-platforms-catalogue.mdLinux_for_Tegra/*.confPick the reference product (baseline)
选择参考产品(基准)
Print the full catalogue list before asking. Group rows by chip family
and number every entry with stable indexes for this run. Build the list
only from ; do not copy platform rows from
examples or other docs.
bsp-platforms-catalogue.mdBuild explicit shortcut choices from the printed list by taking the first
row in each chip-family group. Each shortcut label must include the
full-list index and product name, for example . Do not hard-code product names; derive shortcuts from the parsed
catalogue rows. These shortcuts are the only explicit choices for this
question. Manual index entry must use the tool's built-in
input; do not add a third custom choice for manual entry.
Index 1 — Jetson AGX Orin 64GBType somethingPrompt text:
Pick a platform shortcut, or choose Type something and type the numeric index from the full platform list printed above. If your hardware is a custom carrier with one of these Jetson modules, pick the closest matching reference devkit as the baseline. Type cancel to cancel this run.
Do not show chip-family choices such as or
. Do not show , , , or any custom manual-entry choice. The only manual-entry path
is the tool-provided row. Do not add as a choice
or paraphrase as in prompt text. Do not accept
product-name substring matches in this step; typed input must be a numeric
index from the printed full list or . is not allowed
because this skill cannot author a target profile without a reference
platform.
T234 / Orin familyT264 / Thor familyType indexManual entryOther platformType somethingOtherType somethingOthercancelskipResolve the shortcut or typed index to exactly one catalogue row. If the
typed index is out of range or invalid, show the valid index range and ask
again. If the user types , explain that
requires a reference platform and ask again. If the user types ,
stop without writing a profile.
skipjetson-init-targetcancel询问前先打印完整目录列表。按芯片系列分组,并为每个条目分配本次运行的稳定索引。仅从构建列表;请勿从示例或其他文档复制平台行。
bsp-platforms-catalogue.md从打印列表中,为每个芯片系列组的第一行创建明确的快捷选项。每个快捷标签必须包含完整列表的索引和产品名称,例如。请勿硬编码产品名称;从解析的目录行生成快捷选项。这些快捷选项是本问题的唯一明确选择。手动输入索引必须使用工具内置的输入框;请勿添加第三个自定义手动输入选项。
Index 1 — Jetson AGX Orin 64GBType something提示文本:
选择平台快捷选项,或选择Type something并输入上方打印的完整平台列表中的数字索引。如果您的硬件是搭载Jetson模块的自定义载板,请选择最匹配的参考开发套件作为基准。输入cancel可取消本次操作。
请勿显示芯片系列选项,如或。请勿显示、、或任何自定义手动输入选项。唯一的手动输入路径是工具提供的行。请勿在提示文本中将表述为。本步骤不接受产品名称子串匹配;输入内容必须是打印完整列表中的数字索引或。不允许输入,因为本技能无法在无参考平台的情况下创建目标配置文件。
T234 / Orin familyT264 / Thor familyType indexManual entryOther platformType somethingType somethingOthercancelskip将快捷选项或输入的索引解析为唯一目录行。如果输入的索引超出范围或无效,显示有效索引范围并再次询问。如果用户输入,说明需要参考平台并再次询问。如果用户输入,停止操作且不写入配置文件。
skipjetson-init-targetcancelPick the flash config
选择闪存配置
From the catalogue row, the Default flash conf is option ; the
Variants column lists suffixes — option . Reconstruct each
variant's full conf filename by appending the suffix to the default
conf base. If a row says in the Variants column,
reuse the referenced row's variant list verbatim. Build this list only
from the selected catalogue row.
12..N(same as <other>)Prompt:
Pick a number, or press Enter to accept the default ().1
If the chosen row has no variants ( in the catalogue), proceed to
the "Optional: add custom carrier details" step with the default conf.
—Edge cases:
- Raw-conf variants (catalogue marks ). For Orin Nano,
(raw)→-a0-maxn (raw). Use the raw filename verbatim.p3768-0000-p3767-0000-a0-maxn.conf - placeholders. Reuse the referenced row's variants verbatim.
(same as <other>)
从选中的目录行中,默认闪存配置为选项;变体列列出后缀——选项。通过将后缀追加到默认配置基名,重构每个变体的完整配置文件名。如果某行在变体列中显示,则直接复用引用行的变体列表。仅从选中的目录行构建此列表。
12..N(same as <other>)提示:
选择数字,或按Enter接受默认值()。1
如果选中的行无变体(目录中显示),则直接使用默认配置进入“可选:添加自定义载板详情”步骤。
—边缘情况:
- 原始配置变体(目录标记)。对于Orin Nano,
(raw)→-a0-maxn (raw)。直接使用原始文件名。p3768-0000-p3767-0000-a0-maxn.conf - 占位符。直接复用引用行的变体列表。
(same as <other>)
Optional: add custom carrier details
可选:添加自定义载板详情
After the baseline + flash config are chosen, resolve whether the profile
should record a custom carrier on top. If
is a valid concrete intent,
consume it directly:
quick_start_prefill.target.custom_carrier- → record
add_custom_carrierand collect the missing carrier metadata below.custom_carrier: - → omit
no_custom_carrierand proceed to the "Confirm" step.custom_carrier: - is valid only when editing an existing active profile that already has
keep_existing_custom_carrier. Because this skill authors a new profile, treat it as ambiguous and ask the custom-carrier intent question below.custom_carrier: - or a missing prefill value → ask the custom-carrier intent question below.
skip
When intent is not already concrete, ask the user whether they also want
to record a custom carrier on top using the UI. This
is a bounded choice; show and only:
AskUserQuestionsaddskipOptionally add custom-carrier details for a customer-designed carrier using this Jetson module? (/add, defaultskip)skip
If the resolved intent is , proceed to the "Confirm" step with the
block omitted.
skipcustom_carrier:If the resolved intent is , collect every still-missing
value through the UI. Do not collect
custom-carrier metadata with plain-text prompts, inline chat questions,
freeform summary confirmation, inferred defaults, or example values
presented as selectable options. Split the collection into multiple
forms if the UI question limit would otherwise be
exceeded.
addcustom_carrier:AskUserQuestionsAskUserQuestionsFor the first form, ask ,
, , and
in template document order. For these four
fields, the only selectable path shown to the user must be the tool's
built-in row. Do not add example values, "Other",
guessed board IDs, guessed SKUs, common revision strings, or any explicit
domain options. These are customer-provided metadata: preserve them
exactly as entered and do not require or validate any naming convention,
prefix, case, character set, digit count, or SKU format. Validate only
that required fields are non-empty unless the user explicitly enters
. is accepted per the contract for required fields; warn that
downstream skills may refuse if a missing field is required for their
edit.
AskUserQuestionscustom_carrier.namecustom_carrier.idcustom_carrier.skucustom_carrier.revisionType somethingNANAAfter is known, collect
through a second form if
it is still missing. Show the suggested default as the only explicit
choice and allow the built-in row for a custom
filename. Require a non-empty filename ending in ; do not derive
it from board ID, SKU, or any guessed convention.
custom_carrier.namecustom_carrier.flash_configAskUserQuestionsType something.conf.confField-specific behavior (defaults / suggestions not expressible via
markers alone):
- — suggest a default of kebab-cased
custom_carrier.flash_config(e.g. "Acme Vision X1" →custom_carrier.name + ".conf").acme-vision-x1.conf - — prompt: "Type the customer-facing custom carrier or product name exactly as you want it recorded. No format is required." Use
custom_carrier.nameonly.Type something - — prompt: "Type the custom carrier board ID or project ID exactly as you want it recorded. No format is required." Use
custom_carrier.idonly.Type something - — prompt: "Type the custom carrier SKU or variant identifier exactly as you want it recorded. No format is required." Use
custom_carrier.skuonly; quote in the written YAML so numeric-looking values and leading zeros survive.Type something - — prompt: "Type the custom carrier revision or build identifier exactly as you want it recorded, or press Enter to omit it. No format is required." Use
custom_carrier.revisiononly; omit when skipped.Type something
If the user does not know a value, suggest reading
on the booted target. If genuinely
unavailable, accept for required fields or omit optional fields.
/proc/device-tree/chosen/idsNAThe template intentionally omits and
— module identity comes from
(the same physical Jetson module plugs into
both carriers). Don't add them back.
custom_carrier.modulecustom_carrier.chip_familyreference_devkit.module选择基准+闪存配置后,确定配置文件是否需要记录自定义载板信息。如果是有效的具体意图,则直接使用:
quick_start_prefill.target.custom_carrier- → 记录
add_custom_carrier并收集以下缺失的载板元数据。custom_carrier: - → 省略
no_custom_carrier并进入“确认”步骤。custom_carrier: - 仅在编辑已包含
keep_existing_custom_carrier的现有活动配置文件时有效。由于本技能是创建新配置文件,将其视为模糊意图并询问下方的自定义载板意图问题。custom_carrier: - 或预填充值缺失 → 询问下方的自定义载板意图问题。
skip
当意图不明确时,使用 UI询问用户是否要记录自定义载板信息。这是有限选择;仅显示和:
AskUserQuestionsaddskip是否要为搭载该Jetson模块的客户定制载板添加自定义载板详情?(/add,默认skip)skip
如果解析后的意图是,则省略模块并进入“确认”步骤。
skipcustom_carrier:如果解析后的意图是,则通过 UI收集所有仍缺失的值。请勿使用纯文本提示、内联聊天问题、自由格式摘要确认、推断默认值或示例作为可选选项来收集自定义载板元数据。如果UI问题数量受限,可将收集过程拆分为多个表单。
addAskUserQuestionscustom_carrier:AskUserQuestions第一个表单按模板文档顺序询问、、和。对于这四个字段,显示给用户的唯一可选路径必须是工具内置的行。请勿添加示例值、“Other”、猜测的板ID、猜测的SKU、常见修订字符串或任何明确的领域选项。这些是客户提供的元数据:完全保留用户输入的内容,无需验证任何命名约定、前缀、大小写、字符集、数字位数或SKU格式。仅验证必填字段是否非空,除非用户明确输入。根据契约,必填字段接受;但会警告如果下游技能需要该字段,可能会拒绝操作。
AskUserQuestionscustom_carrier.namecustom_carrier.idcustom_carrier.skucustom_carrier.revisionType somethingNANA在获知后,如果仍缺失,则通过第二个表单收集。将建议的默认值作为唯一明确选项,并允许使用内置的行输入自定义文件名。要求输入非空且以结尾的文件名;请勿从板ID、SKU或任何猜测的约定推导文件名。
custom_carrier.namecustom_carrier.flash_configAskUserQuestionsType something.conf.conf字段特定行为(无法仅通过标记表达的默认值/建议):
- — 建议默认值为短横线分隔的
custom_carrier.flash_config(例如“Acme Vision X1” →custom_carrier.name + ".conf")。acme-vision-x1.conf - — 提示:“输入要记录的客户自定义载板或产品名称,格式不限。”仅使用
custom_carrier.name。Type something - — 提示:“输入要记录的自定义载板板ID或项目ID,格式不限。”仅使用
custom_carrier.id。Type something - — 提示:“输入要记录的自定义载板SKU或变体标识符,格式不限。”仅使用
custom_carrier.sku;在写入YAML时添加引号,确保类似数字的值和前导零得以保留。Type something - — 提示:“输入要记录的自定义载板修订版或构建标识符,或按Enter省略,格式不限。”仅使用
custom_carrier.revision;跳过则省略该字段。Type something
如果用户不知道某个值,建议在已启动的目标设备上读取。如果确实无法获取,必填字段接受,可选字段可省略。
/proc/device-tree/chosen/idsNA模板故意省略了和——模块标识来自(同一物理Jetson模块可插入两种载板)。请勿重新添加这两个字段。
custom_carrier.modulecustom_carrier.chip_familyreference_devkit.moduleConfirm
确认
Show the proposed YAML. Shape depends on whether the user added
custom-carrier details in the "Optional: add custom carrier details"
step. Example: see
for the
reference-only and reference + custom-carrier YAML shapes, plus the
note on which sibling skill appends which block.
references/ui-samples.mdSuggested filename:
- Reference-only: kebab-cased product name from the selected
catalogue row, with appended. E.g.
.yaml→Jetson AGX Thor T5000;jetson-agx-thor-t5000.yaml→Jetson AGX Orin 32GB. Do not derive the filename fromjetson-agx-orin-32gb.yaml; multiple products can share one default conf.flash_config - With custom carrier: kebab-cased . E.g. "Acme Vision X1" →
custom_carrier.name.acme-vision-x1.yaml
Use the suggested filename without asking when it is unique and was
generated from the selected platform or custom-carrier name. Print the
filename and continue. Ask only on collision, empty generated name,
ambiguous input, or explicit custom-filename request. Then handle
activation:
- Bootstrap case (no profile YAMLs existed at the "Survey current state" step): do not prompt. The new profile is the first one, so it is auto-activated in the "Write" step. Tell the user this is happening so the auto-activation is not silent.
- Profiles already exist: ask whether to activate the new
profile (default: yes). Decline only if the user is authoring
multiple profiles to choose from later — they can activate any of
them with .
jetson-set-target
显示拟创建的YAML内容。内容格式取决于用户是否在“可选:添加自定义载板详情”步骤中添加了自定义载板信息。示例: 参考中的仅参考配置和参考+自定义载板的YAML格式,以及关联技能负责添加的模块说明。
references/ui-samples.md建议文件名:
- 仅参考配置: 选中目录行中产品名称的短横线分隔形式,追加。例如
.yaml→Jetson AGX Thor T5000;jetson-agx-thor-t5000.yaml→Jetson AGX Orin 32GB。请勿从jetson-agx-orin-32gb.yaml推导文件名;多个产品可共享同一默认配置。flash_config - 包含自定义载板: 的短横线分隔形式。例如“Acme Vision X1” →
custom_carrier.name。acme-vision-x1.yaml
当建议文件名唯一且由选中平台或自定义载板名称生成时,直接使用该文件名而无需询问。打印文件名并继续操作。仅当文件名冲突、生成的文件名为空、输入模糊或用户明确要求自定义文件名时,才询问用户。然后处理激活:
- 初始化场景(“检查当前状态”步骤中无配置YAML文件):无需提示。新配置文件是第一个,因此会在“写入”步骤自动激活。告知用户此操作,避免自动激活静默执行。
- 已存在配置文件:询问是否要激活新配置文件(默认:是)。仅当用户要创建多个配置文件以备后续选择时,才拒绝激活——用户可通过激活任意配置文件。
jetson-set-target
Write (and optionally activate)
写入(可选激活)
-
Write. If the file already exists, ask before overwriting; never silently clobber.
target-platform/<filename>.yaml -
Editto set
target-platform/active_target.ymlwhen either of the following holds:active: <filename>.yaml- This was the bootstrap case from the "Survey current state" step (no profile YAMLs existed before this run) — activation is automatic, regardless of any prior user input.
- Profiles already existed and the user accepted activation in the "Confirm" step.
Preserve the header comment block; only modify theline. If profiles already existed and the user declined activation, leaveactive:untouched.active_target.yml
-
写入。如果文件已存在,询问用户是否覆盖;切勿静默覆盖。
target-platform/<filename>.yaml -
当满足以下任一条件时,编辑以设置
target-platform/active_target.yml:active: <filename>.yaml- 本次操作为“检查当前状态”步骤中的初始化场景(操作前无配置YAML文件)——无论用户之前的输入如何,自动激活。
- 已存在配置文件且用户在“确认”步骤中同意激活。
保留头部注释块;仅修改行。如果已存在配置文件且用户拒绝激活,则保持active:不变。active_target.yml
Confirm
最终确认
Print a summary: profile path, active pointer (or "unchanged" if
activation was declined), Tegra family (T234 / T264), whether
was recorded, and a reminder that downstream skills
will resolve to whichever profile is active. If the user authored
multiple profiles without activating, point them at
to pick one.
custom_carrier:jetson-set-targetNext steps (Setup → Customize chain):
- — extract the BSP and append
/jetson-init-image.bsp_image: - — clone the shared repos (and optionally override
/jetson-init-sourceif the user wants<workspace>/Sourcewritten into the profile).source.root_path - (optional) — register paths to pre-downloaded BSP / schematic / pinmux documents in the profile's
/jetson-link-docsblock.documents:
Then, before any skill (Customize):
customize-*- — KB that customize-* skills consult for target-specific file locations.
/jetson-generate-kb - (custom carriers only) — materialize the custom carrier's flash conf + supporting DTSIs from the reference devkit. Required before per-knob customize-* on a custom carrier.
/jetson-derive-carrier
If a downstream skill triggered this run, tell the user to re-issue
their original request; do not silently re-trigger it.
打印摘要:配置文件路径、活动指针(如果拒绝激活则显示“未更改”)、Tegra系列(T234 / T264)、是否记录了,以及提醒下游技能会解析当前活动的配置文件。如果用户创建了多个配置文件但未激活,告知用户可使用选择其中一个。
custom_carrier:jetson-set-target后续步骤(设置→定制流程):
- — 提取BSP并追加
/jetson-init-image模块。bsp_image: - — 克隆共享仓库(如果用户希望将
/jetson-init-source写入配置文件,可选择覆盖source.root_path)。<workspace>/Source - (可选)—— 在配置文件的
/jetson-link-docs模块中注册预下载的BSP/原理图/pinmux文档路径。documents:
然后,在执行任何技能(定制)之前:
customize-*- — 生成知识库,供
/jetson-generate-kb技能查询目标特定文件位置。customize-* - (仅自定义载板)—— 从参考开发套件生成自定义载板的闪存配置+支持DTSI文件。在自定义载板上执行单旋钮
/jetson-derive-carrier操作前必须执行此步骤。customize-*
如果本次操作由下游技能触发,告知用户重新发出原始请求;切勿静默重新触发。
Prerequisites
前提条件
- and
bsp-platforms-catalogue.mdreachable via the relative paths in the References section.platform_template.yaml - Write access to (and
target-platform/if activation is requested).target-platform/active_target.yml - For "what module/carrier is this?" lookups: on the booted device.
/proc/device-tree/chosen/ids
- 和
bsp-platforms-catalogue.md可通过参考部分的相对路径访问。platform_template.yaml - 拥有目录的写入权限(如果需要激活,还需拥有
target-platform/的写入权限)。target-platform/active_target.yml - 如需查询“这是什么模块/载板?”:已启动设备上的。
/proc/device-tree/chosen/ids
Limitations
限制
- Owns only ,
reference_devkit:, and thecustom_carrier:pointer; refuses to writeactive_target.yml,bsp_image:, orsource:.documents: - Will not invent SKUs, module IDs, custom carrier metadata, or flash
configs — records or aborts when the user does not know a required value.
NA
- 仅负责、
reference_devkit:和custom_carrier:指针;拒绝写入active_target.yml、bsp_image:或source:模块。documents: - 不会生成SKU、模块ID、自定义载板元数据或闪存配置——当用户不知道必填值时,记录或终止操作。
NA
Troubleshooting
故障排除
- User asks to switch instead of author — refuse and route to
; do not re-author an existing profile.
jetson-set-target - Catalogue row not found for the product the user named —
add the row to first; do not patch the product list inside this skill.
bsp-platforms-catalogue.md - Required field stuck at — downstream
NAskills may refuse; capture the missing value (readcustomize-*) and rerun./proc/device-tree/chosen/ids - lost its comment block after activation — a non-round-tripping YAML writer was used; switch to
active_target.ymland restore from the template.ruamel.yaml
See for the full
pitfalls list (catalogue/template separation, NA handling, conf
collision rules, etc.).
references/gotchas.md- 用户要求切换而非创建 — 拒绝操作并引导至;切勿重新创建现有配置文件。
jetson-set-target - 未找到用户指定产品的目录行 — 先将该行添加到;切勿在本技能内修改产品列表。
bsp-platforms-catalogue.md - 必填字段为— 下游
NA技能可能拒绝操作;获取缺失值(读取customize-*)并重新运行。/proc/device-tree/chosen/ids - 激活后丢失注释块 — 使用了不支持往返的YAML写入器;切换为
active_target.yml并从模板恢复注释块。ruamel.yaml
完整的陷阱列表请参考(目录/模板分离、NA处理、配置冲突规则等)。
references/gotchas.mdReferences
参考资料
- — product / flash conf catalogue (the source of truth for the "Pick the reference product" and "Pick the flash config" steps).
../../references/bsp-platforms-catalogue.md - — the contract this skill writes to.
../../context/target-platform-contract.md - — schema starter for a target profile (the source of truth for the "Optional: add custom carrier details" step).
../../references/platform_template.yaml - — schema starter for the active-target pointer.
../../references/active_target_template.yaml - — sibling skill: switch the active pointer among already-authored profiles.
../jetson-set-target/SKILL.md - — sibling skill: extract BSP image and author the
../jetson-init-image/SKILL.mdblock.bsp_image: - — sibling skill: clone shared repos and (optionally) author the
../jetson-init-source/SKILL.mdblock.source: - — sibling skill: author the
../jetson-link-docs/SKILL.mdblock by registering pre-downloaded files.documents:
- — 产品/闪存配置目录(“选择参考产品”和“选择闪存配置”步骤的权威来源)。
../../references/bsp-platforms-catalogue.md - — 本技能遵循的契约。
../../context/target-platform-contract.md - — 目标配置文件的schema模板(“可选:添加自定义载板详情”步骤的权威来源)。
../../references/platform_template.yaml - — 活动目标指针的schema模板。
../../references/active_target_template.yaml - — 关联技能:在已创建的配置文件间切换活动指针。
../jetson-set-target/SKILL.md - — 关联技能:提取BSP镜像并创建
../jetson-init-image/SKILL.md模块。bsp_image: - — 关联技能:克隆共享仓库并(可选)创建
../jetson-init-source/SKILL.md模块。source: - — 关联技能:通过注册预下载文件创建
../jetson-link-docs/SKILL.md模块。documents: