jetson-generate-kb

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Generate Target Knowledge Base

生成目标知识库

Overview

概述

This skill produces a per-profile markdown reference at
target-platform/<profile-stem>.md
(sibling to the profile YAML). It bundles three things into one file so a future Claude session — or the user — can see the shape of the active target without re-walking the filesystem:
  1. BSP image layout — top-level directories under
    bsp_image.root_path
    , presence of canonical subtrees (
    rootfs/
    ,
    bootloader/
    ,
    source/
    , …), and the nvpmodel variants matching the active module SKU.
  2. Source tree layout — top-level subtrees under
    source.root_path
    (
    kernel-jammy-src/
    ,
    hardware/nvidia/
    ,
    nvidia-oot/
    , etc.) and devicetree files matching the chip family.
  3. Documents — the
    documents.*
    references recorded in the profile, with local-path existence checks and one-line descriptions.
The KB is a snapshot, dated in its header. Re-run this skill whenever the underlying data changes — it is intentionally re-runnable and overwrites the previous KB on each run.
本skill会在
target-platform/<profile-stem>.md
(与配置文件YAML同级目录)生成一份按配置文件划分的Markdown参考文档。它将三类信息整合到一个文件中,以便后续Claude会话或用户无需重新遍历文件系统,即可查看当前目标的结构:
  1. BSP镜像布局 ——
    bsp_image.root_path
    下的顶级目录、标准子树(
    rootfs/
    bootloader/
    source/
    等)的存在情况,以及与当前模块SKU匹配的nvpmodel变体。
  2. 源码树布局 ——
    source.root_path
    下的顶级子树(
    kernel-jammy-src/
    hardware/nvidia/
    nvidia-oot/
    等),以及与芯片系列匹配的设备树文件。
  3. 文档 —— 配置文件中记录的
    documents.*
    引用,包含本地路径存在性检查和单行描述。
该知识库是一份快照,标题中会标注日期。每当底层数据发生变化时,可重新运行本skill——它支持重复运行,每次运行都会覆盖之前的知识库。

When to invoke

调用时机

  • After
    jetson-init-image
    prepares the BSP for a freshly authored profile.
  • After re-extracting a BSP archive or applying patches under
    bsp_image.root_path
    .
  • After updating the source tree at
    source.root_path
    .
  • After editing
    bsp_image.*
    or
    documents.*
    in the profile YAML.
  • When a downstream skill asks "where is X in this BSP?" and you'd rather check the KB than re-walk the tree.
  • jetson-init-image
    为新创建的配置文件准备好BSP之后。
  • 在重新提取BSP归档文件或在
    bsp_image.root_path
    下应用补丁之后。
  • 在更新
    source.root_path
    下的源码树之后。
  • 在编辑配置文件YAML中的
    bsp_image.*
    documents.*
    字段之后。
  • 当下游skill询问“此BSP中X位于何处?”,且你更倾向于查看知识库而非重新遍历树结构时。

Procedure

流程

Resolve the active target

解析当前目标

Resolve the active profile per the contract in
../../context/target-platform-contract.md
; cache it in memory — the rest of the skill consumes only this profile. Record
<profile-stem>
(the bare filename minus
.yaml
) as the KB output filename stem.
根据
../../context/target-platform-contract.md
中的约定解析当前配置文件;将其缓存到内存中——本skill的其余部分仅使用该配置文件。将
<profile-stem>
(不带
.yaml
的裸文件名)记录为知识库输出文件的名称前缀。

Validate inputs

验证输入

FieldRequired for KB?If missing
bsp_image.root_path
yesRefuse. A KB with no BSP root to scan is just a YAML restatement; tell the user to run
jetson-init-image
or hand-edit the profile.
source.root_path
noSkip the source-tree section; note "source_root not recorded" in the KB.
documents.*
noRender an empty Documents table with a "no documents recorded" note.
If
bsp_image.root_path
is set but the directory does not exist on disk, refuse with a clear message — do not fabricate a layout for a path that isn't there.
字段知识库是否必需?缺失时的处理
bsp_image.root_path
拒绝执行。没有可扫描的BSP根目录的知识库只是YAML内容的重复;告知用户运行
jetson-init-image
或手动编辑配置文件。
source.root_path
跳过源码树部分;在知识库中注明“source_root未记录”。
documents.*
渲染一个空的文档表格,并标注“未记录任何文档”。
如果
bsp_image.root_path
已设置但磁盘上不存在该目录,将明确拒绝执行——不会为不存在的路径生成布局信息。

BSP discovery (under
bsp_image.root_path
)

BSP发现(在
bsp_image.root_path
下)

Run only the following cheap operations — no recursive scans, no file content reads beyond directory listings:
  1. ls -1
    of
    bsp_image.root_path
    (one level deep). Record which directories are present.
  2. For each canonical subtree below, mark present/absent:
    rootfs/
    ,
    bootloader/
    ,
    kernel/
    ,
    source/
    ,
    tools/
    ,
    nv_tegra/
    .
  3. Verify the active
    flash_config
    file exists at
    <bsp_image.root_path>/<flash_config>
    . Record its path or
    (missing)
    .
  4. List
    rootfs/etc/nvpmodel/
    and filter to filenames matching
    nvpmodel_<module.id>_<module.sku>*.conf
    . Record each match. Use the lower-case module id (e.g.
    p3767
    ) and the YAML-quoted sku string (e.g.
    0001
    ).
仅执行以下轻量操作——不进行递归扫描,除目录列表外不读取任何文件内容:
  1. bsp_image.root_path
    执行
    ls -1
    (仅一级目录)。记录存在的目录。
  2. 针对以下每个标准子树,标记其存在/缺失状态:
    rootfs/
    bootloader/
    kernel/
    source/
    tools/
    nv_tegra/
  3. 验证当前
    flash_config
    文件是否存在于
    <bsp_image.root_path>/<flash_config>
    。记录其路径或
    (missing)
  4. 列出
    rootfs/etc/nvpmodel/
    下的文件,并筛选出匹配
    nvpmodel_<module.id>_<module.sku>*.conf
    的文件名。记录每个匹配项。使用小写的模块ID(例如
    p3767
    )和YAML引用的SKU字符串(例如
    0001
    )。

Source tree discovery (under
source.root_path
)

源码树发现(在
source.root_path
下)

Skip this step entirely if
source.root_path
is
NA
or missing. Otherwise, run only:
  1. ls -1
    of
    source.root_path
    (one level deep).
  2. For each canonical subtree below, mark present/absent:
    kernel-jammy-src/
    ,
    hardware/nvidia/
    ,
    nvidia-oot/
    ,
    nvgpu/
    ,
    nvethernetrm/
    ,
    nvdisplay/
    ,
    hwpm/
    ,
    kernel-devicetree/
    .
  3. If
    kernel-devicetree/generic-dts/dts/
    exists, list filenames matching
    tegra<chip>*
    where
    <chip>
    is the chip-family numeric prefix (see chip-family map below). Record up to 30 hits; if more, record the count and a "showing first 30" note.
如果
source.root_path
NA
或缺失,则完全跳过此步骤。否则,仅执行:
  1. source.root_path
    执行
    ls -1
    (仅一级目录)。
  2. 针对以下每个标准子树,标记其存在/缺失状态:
    kernel-jammy-src/
    hardware/nvidia/
    nvidia-oot/
    nvgpu/
    nvethernetrm/
    nvdisplay/
    hwpm/
    kernel-devicetree/
  3. 如果
    kernel-devicetree/generic-dts/dts/
    存在,列出匹配
    tegra<chip>*
    的文件名,其中
    <chip>
    是芯片系列的数字前缀(见下方芯片系列映射表)。最多记录30个匹配项;如果超过30个,记录总数并标注“显示前30个”。

Chip-family map (used in the "BSP discovery" and "Source tree discovery" steps)

芯片系列映射表(用于“BSP发现”和“源码树发现”步骤)

Derive
<chip>
from
module.id
:
module.id
Chip family
<chip>
prefix
p3701
,
p3767
T234 — Orin
234
p3834
T264 — Thor
264
If
module.id
is not in this table, record the chip as
unknown (module.id=<value>)
and skip the chip-prefixed devicetree filter.
module.id
推导
<chip>
module.id
芯片系列
<chip>
前缀
p3701
,
p3767
T234 — Orin
234
p3834
T264 — Thor
264
如果
module.id
不在此表中,记录芯片为
unknown (module.id=<value>)
并跳过芯片前缀的设备树筛选。

Documents pass

文档处理

For each field in
documents.*
from the loaded profile:
  1. Classify the value as URL (starts with
    http://
    ,
    https://
    , or
    ftp://
    ) or local path (anything else).
  2. For URLs: record verbatim. Do not fetch the URL — KB generation must remain offline. (A future skill can promote to deep indexing.)
  3. For local paths: check
    os.path.exists
    . Record the path; if missing on disk, append
     (missing)
    .
The one-line description for each field comes from the marker in
../../references/platform_template.yaml
— strip the
<OPTIONAL: …>
wrapper and use the inner text.
If the profile has no
documents:
block, render the section with a single line:
_No documents recorded — run 
jetson-link-docs
 or hand-edit the profile to add references._
针对加载的配置文件中
documents.*
下的每个字段:
  1. 将值分类为URL(以
    http://
    https://
    ftp://
    开头)或本地路径(其他所有情况)。
  2. 对于URL:原样记录。请勿获取URL内容——知识库生成必须保持离线状态。(后续skill可扩展为深度索引。)
  3. 对于本地路径:检查
    os.path.exists
    。记录路径;如果磁盘上不存在,追加
     (missing)
每个字段的单行描述来自
../../references/platform_template.yaml
中的标记——去除
<OPTIONAL: …>
包装,使用内部文本。
如果配置文件中没有
documents:
块,渲染该部分时显示单行内容:
_未记录任何文档 —— 运行
jetson-link-docs
或手动编辑配置文件添加引用。_

Render and write the KB

渲染并写入知识库

Render the markdown using the structure below. Use today's date (YYYY-MM-DD) in the header. Always overwrite any existing KB file at the destination — do not prompt before overwriting; re-runs are the intended use.
Destination:
target-platform/<profile-stem>.md
.
使用以下结构渲染Markdown。在标题中使用当前日期(YYYY-MM-DD)。始终覆盖目标位置的现有知识库文件——覆盖前无需提示;重复运行是设计的预期用途。
目标路径:
target-platform/<profile-stem>.md

Rendered structure

渲染结构

markdown
undefined
markdown
undefined

Target knowledge base — <profile-stem>

Target knowledge base — <profile-stem>

Generated <YYYY-MM-DD> from
<bsp_image.root_path>
(BSP version
<bsp_image.version>
). Re-run
jetson-generate-kb
after extracting a new BSP, applying patches, or editing profile fields. This file is a regenerated snapshot — do not hand-edit.
Generated <YYYY-MM-DD> from
<bsp_image.root_path>
(BSP version
<bsp_image.version>
). Re-run
jetson-generate-kb
after extracting a new BSP, applying patches, or editing profile fields. This file is a regenerated snapshot — do not hand-edit.

Profile facts

Profile facts

  • Reference devkit:
    <reference_devkit.name>
  • Module:
    <module.id>-<module.sku>
    (
    <chip family label>
    )
  • Reference carrier:
    <carrier.id>-<carrier.sku>
  • Custom carrier:
    <custom_carrier.name>
    (
    <custom_carrier.id>-<custom_carrier.sku>
    ) ← omit this row if Case 1
  • Active flash conf:
    <flash_config>
  • BSP path:
    <bsp_image.root_path>
  • BSP version:
    <bsp_image.version>
  • Source root:
    <source.root_path>
    ← or "not recorded" if NA
  • Reference devkit:
    <reference_devkit.name>
  • Module:
    <module.id>-<module.sku>
    (
    <chip family label>
    )
  • Reference carrier:
    <carrier.id>-<carrier.sku>
  • Custom carrier:
    <custom_carrier.name>
    (
    <custom_carrier.id>-<custom_carrier.sku>
    ) ← omit this row if Case 1
  • Active flash conf:
    <flash_config>
  • BSP path:
    <bsp_image.root_path>
  • BSP version:
    <bsp_image.version>
  • Source root:
    <source.root_path>
    ← or "not recorded" if NA

BSP image layout

BSP image layout

Top-level directories under
<bsp_image.root_path>
:
DirectoryPresentPurpose
rootfs/
✓ / ✗userspace rootfs (nvpmodel, nvfan, systemd units, etc.)
bootloader/
✓ / ✗firmware blobs, BCT, MB1/MB2 dts
kernel/
✓ / ✗prebuilt kernel + modules
source/
✓ / ✗BSP source tree (kernel, OOT drivers, DT)
tools/
✓ / ✗flashing helpers, jetson-io, kernel_flash
nv_tegra/
✓ / ✗nvidia firmware tarballs, kernel-supplements
Active flash conf
<flash_config>
: present at
<bsp_image.root_path>/<flash_config>
or
(missing — verify before flashing)
.
Top-level directories under
<bsp_image.root_path>
:
DirectoryPresentPurpose
rootfs/
✓ / ✗userspace rootfs (nvpmodel, nvfan, systemd units, etc.)
bootloader/
✓ / ✗firmware blobs, BCT, MB1/MB2 dts
kernel/
✓ / ✗prebuilt kernel + modules
source/
✓ / ✗BSP source tree (kernel, OOT drivers, DT)
tools/
✓ / ✗flashing helpers, jetson-io, kernel_flash
nv_tegra/
✓ / ✗nvidia firmware tarballs, kernel-supplements
Active flash conf
<flash_config>
: present at
<bsp_image.root_path>/<flash_config>
or
(missing — verify before flashing)
.

nvpmodel files matching the active SKU

nvpmodel files matching the active SKU

Filtered from
rootfs/etc/nvpmodel/
by
nvpmodel_<module.id>_<module.sku>*.conf
:
  • <each match, one per line>
The active variant at boot is selected by
nvpower.sh
from
/proc/device-tree/compatible
plus super / safety state — see
jetson-customize-nvpmodel
for the resolution rules.
Filtered from
rootfs/etc/nvpmodel/
by
nvpmodel_<module.id>_<module.sku>*.conf
:
  • <each match, one per line>
The active variant at boot is selected by
nvpower.sh
from
/proc/device-tree/compatible
plus super / safety state — see
jetson-customize-nvpmodel
for the resolution rules.

Source tree layout

Source tree layout

(omit this whole section if
source.root_path
is
NA
/missing)
Top-level subtrees under
<source.root_path>
:
SubtreePresentPurpose
kernel-jammy-src/
✓ / ✗mainline 5.x kernel sources
hardware/nvidia/
✓ / ✗NVIDIA platform DTs (per chip family)
nvidia-oot/
✓ / ✗NVIDIA out-of-tree kernel modules
nvgpu/
✓ / ✗GPU driver
nvethernetrm/
✓ / ✗ethernet driver
nvdisplay/
✓ / ✗display driver
hwpm/
✓ / ✗hardware performance monitor
kernel-devicetree/
✓ / ✗devicetree sources
(omit this whole section if
source.root_path
is
NA
/missing)
Top-level subtrees under
<source.root_path>
:
SubtreePresentPurpose
kernel-jammy-src/
✓ / ✗mainline 5.x kernel sources
hardware/nvidia/
✓ / ✗NVIDIA platform DTs (per chip family)
nvidia-oot/
✓ / ✗NVIDIA out-of-tree kernel modules
nvgpu/
✓ / ✗GPU driver
nvethernetrm/
✓ / ✗ethernet driver
nvdisplay/
✓ / ✗display driver
hwpm/
✓ / ✗hardware performance monitor
kernel-devicetree/
✓ / ✗devicetree sources

Devicetree files for chip family
<chip>

Devicetree files for chip family
<chip>

(omit if
kernel-devicetree/generic-dts/dts/
is absent)
Files matching
tegra<chip>*
under
kernel-devicetree/generic-dts/dts/
:
  • <each match, one per line — cap at 30, then a "first 30 of N" note>
(omit if
kernel-devicetree/generic-dts/dts/
is absent)
Files matching
tegra<chip>*
under
kernel-devicetree/generic-dts/dts/
:
  • <each match, one per line — cap at 30, then a "first 30 of N" note>

Documents

Documents

FieldReference
Documents root folder
<doc_root>
or not recorded
BSP / Jetson Linux developer guide
<bsp_developer_guide>
or not recorded
Tegra SoC Technical Reference Manual
<soc_tech_ref_manual>
or not recorded
Jetson module data sheet
<module_data_sheet>
or not recorded
Jetson module design guide (PDG)
<module_design_guide>
or not recorded
Jetson module thermal design guide (TDG)
<module_thermal_design_guide>
or not recorded
Jetson module schematic
<module_schematic>
or not recorded
Reference carrier board specification
<carrier_board_spec>
or not recorded
Reference carrier schematic
<carrier_schematic>
or not recorded
Custom carrier schematic
<custom_carrier_schematic>
or not recorded / N/A (no custom carrier)
Reference-devkit pinmux spreadsheet
<ref_devkit_pinmux_xls>
or not recorded
Custom-carrier pinmux spreadsheet
<custom_carrier_pinmux_xls>
or not recorded / N/A (no custom carrier)
(Local paths are tagged
 (missing)
if absent on disk. URLs are recorded verbatim and not fetched. If
doc_root
is set, also tag
 (missing)
on it if the directory itself is gone — that signals auto-mapping in
jetson-link-docs
won't work on a re-run.)
FieldReference
Documents root folder
<doc_root>
or not recorded
BSP / Jetson Linux developer guide
<bsp_developer_guide>
or not recorded
Tegra SoC Technical Reference Manual
<soc_tech_ref_manual>
or not recorded
Jetson module data sheet
<module_data_sheet>
or not recorded
Jetson module design guide (PDG)
<module_design_guide>
or not recorded
Jetson module thermal design guide (TDG)
<module_thermal_design_guide>
or not recorded
Jetson module schematic
<module_schematic>
or not recorded
Reference carrier board specification
<carrier_board_spec>
or not recorded
Reference carrier schematic
<carrier_schematic>
or not recorded
Custom carrier schematic
<custom_carrier_schematic>
or not recorded / N/A (no custom carrier)
Reference-devkit pinmux spreadsheet
<ref_devkit_pinmux_xls>
or not recorded
Custom-carrier pinmux spreadsheet
<custom_carrier_pinmux_xls>
or not recorded / N/A (no custom carrier)
(Local paths are tagged
 (missing)
if absent on disk. URLs are recorded verbatim and not fetched. If
doc_root
is set, also tag
 (missing)
on it if the directory itself is gone — that signals auto-mapping in
jetson-link-docs
won't work on a re-run.)

How to refresh this file

How to refresh this file

Re-run
jetson-generate-kb
whenever any of the following changes:
  • the BSP at
    <bsp_image.root_path>
    is re-extracted, patched, or upgraded,
  • the source tree at
    <source.root_path>
    changes,
  • the active profile's
    bsp_image.*
    or
    documents.*
    fields are edited.
This file is overwritten on every run. Do not hand-edit it — edit the source data (profile YAML or the BSP tree) and re-run instead.
undefined
Re-run
jetson-generate-kb
whenever any of the following changes:
  • the BSP at
    <bsp_image.root_path>
    is re-extracted, patched, or upgraded,
  • the source tree at
    <source.root_path>
    changes,
  • the active profile's
    bsp_image.*
    or
    documents.*
    fields are edited.
This file is overwritten on every run. Do not hand-edit it — edit the source data (profile YAML or the BSP tree) and re-run instead.
undefined

Confirm

确认

Print a short summary:
  • Output path:
    target-platform/<profile-stem>.md
    .
  • BSP top-level directory count and which canonical subtrees were present / absent.
  • nvpmodel match count for the active SKU.
  • Source-tree section: rendered or skipped (and why).
  • Documents: count of recorded fields, count of local paths flagged
    (missing)
    .
If a downstream skill triggered this run, tell the user to re-issue their original request.
打印简短摘要:
  • 输出路径:
    target-platform/<profile-stem>.md
  • BSP顶级目录数量,以及哪些标准子树存在/缺失。
  • 与当前SKU匹配的nvpmodel文件数量。
  • 源码树部分:已渲染或已跳过(及原因)。
  • 文档:已记录字段的数量,标记为
    (missing)
    的本地路径数量。
如果是由下游skill触发的本次运行,告知用户重新发出原始请求。

Gotchas

注意事项

  • The KB is a snapshot, not a live view. The dated header is authoritative — if it doesn't match today, the BSP/source/docs may have changed underneath. Re-run on demand.
  • Always overwrites. No prompt before clobbering the previous KB at
    target-platform/<profile-stem>.md
    . This is intentional — re-runnability is the whole point. Tell the user not to hand-edit the file; edit profile YAML or the BSP and regenerate.
  • Refuses on
    bsp_image.root_path = NA
    .
    A profile with no BSP path produces a content-free KB. Do not write one — instead, point the user at the profile YAML to fill in.
  • No URL fetching. Document URLs are recorded verbatim. Promoting to deep indexing (HTTP HEAD, PDF parsing) is out of scope for v0.1.
  • No recursive scans. Discovery is one level deep per directory, with at most one targeted glob (nvpmodel + devicetree). Never walk the entire BSP — it's huge and slow.
  • Cap devicetree listings at 30 entries to keep the KB readable. Show "first 30 of N" when truncating.
  • Don't auto-invoke from setup skills. Setup may suggest running this skill in its summary, but the user opts in. Auto-running hides the I/O step and surprises users whose BSP/doc paths are incomplete.
  • Filename collision risk. The KB sits at
    target-platform/<stem>.md
    next to
    <stem>.yaml
    . Don't accidentally read
    .md
    files in the profile-listing logic of
    jetson-set-target
    (it already filters to
    *.yaml
    , but check before adding new file types).
  • Chip-family map is short. If a future module SKU is added that isn't in the map, the devicetree filter step is skipped — the KB will note
    chip: unknown
    rather than fabricate a
    <chip>
    prefix. Update this skill's chip-family table when a new chip lands.
  • 知识库是快照,不是实时视图。标题中的日期是权威依据——如果日期与当前不符,BSP/源码/文档可能已在底层发生变化。按需重新运行即可。
  • 始终覆盖。覆盖
    target-platform/<profile-stem>.md
    下的旧知识库前不会提示。这是故意设计的——可重复运行是核心特性。告知用户请勿手动编辑该文件;如需修改,请编辑配置文件YAML或BSP树后重新生成。
  • bsp_image.root_path = NA
    时拒绝执行
    。没有BSP路径的配置文件生成的知识库无实质内容。请勿生成此类知识库——而是引导用户填写配置文件YAML。
  • 不获取URL内容。文档URL会原样记录。v0.1版本不支持深度索引(HTTP HEAD请求、PDF解析)。
  • 不进行递归扫描。发现操作仅针对每个目录的一级内容,最多执行一次定向匹配(nvpmodel和设备树)。绝不遍历整个BSP——其体积庞大且速度缓慢。
  • 设备树列表最多显示30个条目,以保持知识库的可读性。截断时显示“前30个,共N个”。
  • 不要从设置类skill自动调用。设置类skill可在摘要中建议运行本skill,但需由用户主动选择。自动运行会隐藏I/O步骤,且可能让BSP/文档路径不完整的用户感到意外。
  • 存在文件名冲突风险。知识库位于
    target-platform/<stem>.md
    ,与
    <stem>.yaml
    同级。请勿在
    jetson-set-target
    的配置文件列表逻辑中误读
    .md
    文件(当前已筛选为
    *.yaml
    ,但添加新文件类型前请检查)。
  • 芯片系列映射表范围有限。如果未来新增的模块SKU不在映射表中,设备树筛选步骤会被跳过——知识库会标注
    chip: unknown
    ,而非生成虚构的
    <chip>
    前缀。新增芯片时需更新本skill的芯片系列表。

Prerequisites

前置条件

  • Active target profile resolved per
    ../../context/target-platform-contract.md
    .
  • bsp_image:
    recorded by
    /jetson-init-image
    ; this is the only required on-disk tree. If
    source.root_path
    is missing, render the KB without the source-tree section.
  • Optional:
    /jetson-init-source
    already resolved
    source:
    when the user wants source-tree discovery included.
  • Optional but recommended:
    /jetson-link-docs
    already wrote the
    documents:
    block.
  • 已根据
    ../../context/target-platform-contract.md
    解析出当前目标配置文件。
  • /jetson-init-image
    已记录
    bsp_image:
    ;这是唯一必需的磁盘目录树。如果
    source.root_path
    缺失,将生成不带源码树部分的知识库。
  • 可选:当用户需要包含源码树发现功能时,
    /jetson-init-source
    已解析
    source:
  • 可选但推荐:
    /jetson-link-docs
    已写入
    documents:
    块。

Limitations

局限性

  • Read-only against the BSP and source trees; never edits the profile YAML or rewrites source files.
  • Devicetree-file enumeration depends on the chip-family table inside this skill; an unknown module SKU lands in the KB as
    chip: unknown
    rather than a fabricated prefix.
  • Filename layout is fixed at
    target-platform/<stem>.md
    to stay next to the profile YAML; renaming the YAML invalidates the link.
  • 仅对BSP和源码树执行只读操作;绝不编辑配置文件YAML或重写源码文件。
  • 设备树文件枚举依赖本skill内部的芯片系列表;未知的模块SKU会在知识库中标记为
    chip: unknown
    ,而非生成虚构前缀。
  • 文件路径固定为
    target-platform/<stem>.md
    ,以与配置文件YAML同级;重命名YAML会破坏此关联。

Troubleshooting

故障排除

  • bsp_image.root_path
    not found
    — re-run
    /jetson-init-image
    so the BSP is extracted and the path is recorded before regenerating the KB.
  • Source tree walk picks up wrong subtrees
    source.root_path
    override is stale; rerun
    /jetson-init-source
    or correct the profile field.
  • documents:
    block missing from the KB
    /jetson-link-docs
    was never run; the KB falls back to "no documents bound" rather than guessing paths.
  • Devicetree section short / empty — chip-family table doesn't cover the active SoC; update the table and rerun.
  • bsp_image.root_path
    未找到
    ——重新运行
    /jetson-init-image
    ,确保BSP已提取且路径已记录,然后重新生成知识库。
  • 源码树遍历识别到错误的子树——
    source.root_path
    覆盖信息已过期;重新运行
    /jetson-init-source
    或修正配置文件字段。
  • 知识库中缺少
    documents:
    ——从未运行过
    /jetson-link-docs
    ;知识库会默认显示“未绑定任何文档”,而非猜测路径。
  • 设备树部分内容简短/为空——芯片系列表未涵盖当前SoC;更新表后重新运行。

References

参考资料

  • ../../context/target-platform-contract.md
    — read-order contract this skill follows.
  • ../../context/bsp-customization-workflow.md
    — origin of the canonical BSP/source subtree list.
  • ../../references/platform_template.yaml
    — source of the documents-field one-line descriptions.
  • ../jetson-init-target/SKILL.md
    — sibling skill that authors the active target identity.
  • ../jetson-init-image/SKILL.md
    — sibling skill that authors the BSP image metadata this skill scans.
  • ../jetson-set-target/SKILL.md
    — sibling skill that flips the active pointer this skill resolves.
  • ../../context/target-platform-contract.md
    —— 本skill遵循的读取顺序约定。
  • ../../context/bsp-customization-workflow.md
    —— 标准BSP/源码子树列表的来源。
  • ../../references/platform_template.yaml
    —— 文档字段单行描述的来源。
  • ../jetson-init-target/SKILL.md
    —— 创建当前目标标识的同级skill。
  • ../jetson-init-image/SKILL.md
    —— 创建本skill扫描的BSP镜像元数据的同级skill。
  • ../jetson-set-target/SKILL.md
    —— 切换本skill解析的当前指针的同级skill。