jetson-download-bsp
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDownload BSP Artifacts
下载BSP制品
jetson-download-bspjetson-init-imagejetson-init-sourcejetson-link-docsjetson-download-bspjetson-init-imagejetson-init-sourcejetson-link-docsWhen to invoke
调用时机
- selected
/jetson-quick-start.Auto Setup - The user wants NVIDIA BSP artifacts downloaded into the current workspace before running setup skills.
- 选择了 的「自动设置(Auto Setup)」选项。
/jetson-quick-start - 用户希望在运行设置技能前,将NVIDIA BSP制品下载到当前工作区。
Inputs and outputs
输入与输出
Resolve the active profile per
.
Refuse if no active profile exists.
../../context/target-platform-contract.mdFollow the shared
contract.
When invoked by , this skill consumes
and
as the requested release when present. Missing or invalid prefilled values
are not fatal, but a concrete release is required before any download
starts.
quick_start_prefill/jetson-quick-startquick_start_prefill.modequick_start_prefill.download.bsp_releaseUse the workspace root as the parent of . Place files
where downstream setup skills already search:
target-platform/| Artifact | Destination |
|---|---|
| Jetson Linux BSP tarball | |
| Sample rootfs tarball | |
| |
| |
| Developer Guide | |
| User Guide | |
Do not write , , or blocks. The next
setup skills will register derived metadata after extraction or user
confirmation.
bsp_image:source:documents:根据解析当前配置文件。如果不存在当前配置文件,则拒绝执行。
../../context/target-platform-contract.md遵循共享的 约定。当被调用时,若存在和,该技能会将其作为请求的版本使用。缺失或无效的预填充值不会导致失败,但开始下载前必须指定具体的版本。
quick_start_prefill/jetson-quick-startquick_start_prefill.modequick_start_prefill.download.bsp_release使用工作区根目录作为的父目录。将文件放置在下游设置技能已指定的搜索路径中:
target-platform/| 制品 | 目标路径 |
|---|---|
| Jetson Linux BSP压缩包 | |
| 示例根文件系统压缩包 | |
| |
| |
| 开发者指南(Developer Guide) | |
| 用户指南(User Guide) | |
不要写入、或块。后续的设置技能会在解压或用户确认后注册衍生元数据。
bsp_image:source:documents:Procedure
操作流程
Resolve target release
确定目标版本
Fetch the release list from:
https://developer.nvidia.com/embedded/jetson-linux-archive
From the archive and linked release pages, list concrete releases that
explicitly support the active platform. Let the user choose a concrete
Jetson Linux / L4T release token (, , ,
, , etc.); do not proceed with a family placeholder such
as . A concrete release token is an optional leading followed
by two or three numeric dotted components. Preserve the token exactly as
the official page presents it; do not add , remove a patch component,
or otherwise normalize it. Sort release choices by dotted numeric order
descending (newest first), comparing the components that are present; keep
source-provided recommendations in descriptions.
R36.4.436.4.438.238.2.138.4R38.xR.0Resolve as follows:
quick_start_prefill.download.bsp_release- Concrete and supported: continue with that release.
- Missing, , blank, or a family placeholder (
skip,R38.x): show supported concrete releases and ask the user to choose one.38.x - Concrete but unsupported or ambiguous: stop before artifact discovery and show the active platform, requested BSP release, supported concrete releases, and source archive or release page.
Never auto-substitute the requested release with a supported release, even
when there is only one supported option.
For unsupported or ambiguous prefill, ask with the shared
,
to choose exactly one click-to-select action:
User input prompt style- — user selects one supported concrete release.
pick_supported_release - — user confirms the incompatible release and enters an override reason.
confirm_override - — stop with no downloads.
cancel
Do not continue to "Locate release artifacts" until the selected release is concrete and
supported, or the user explicitly confirms override. Record any override
reason in the final summary. If the user cancels, stop with no downloads.
Do not claim support unless the archive or linked release page explicitly
lists the active platform.
从归档页面及关联的版本页面中,列出明确支持当前平台的具体版本。让用户选择一个具体的Jetson Linux / L4T版本标识(如、、、、等);请勿使用这类家族占位符。具体版本标识是指可选前缀加上两个或三个数字组成的点分结构。严格保留官方页面展示的标识;请勿添加、移除补丁版本或进行其他标准化处理。按点分数字降序(最新版本优先)排列版本选项,比较已有的版本组件;保留来源提供的推荐说明。
R36.4.436.4.438.238.2.138.4R38.xR.0按以下规则解析:
quick_start_prefill.download.bsp_release- 具体且受支持:继续使用该版本。
- 缺失、为、空白或为家族占位符(如
skip、R38.x):展示受支持的具体版本并让用户选择。38.x - 具体但不受支持或模糊:在制品发现前停止操作,展示当前平台、请求的BSP版本、受支持的具体版本以及来源归档或版本页面。
即使只有一个受支持的选项,也绝不能自动用受支持版本替换请求的版本。
对于不受支持或模糊的预填充值,使用共享的「用户输入提示样式」询问用户,让其选择以下可点击的操作之一:
- — 用户选择一个受支持的具体版本。
pick_supported_release - — 用户确认使用不兼容版本并输入覆盖原因。
confirm_override - — 停止操作,不进行任何下载。
cancel
在所选版本为具体且受支持的版本,或用户明确确认覆盖之前,请勿进入「定位版本制品」步骤。将任何覆盖原因记录在最终总结中。如果用户取消,则停止操作,不进行任何下载。除非归档或关联版本页面明确列出当前平台,否则请勿声称支持该平台。
Discovery retries
发现重试机制
For every artifact WebFetch in "Resolve target release" and "Locate release artifacts" (BSP, rootfs,
, , Developer Guide, User Guide),
try 3 attempts before marking it missing:
public_sources.tbz2x-tools.tbz2- Focused prompt — artifact name + file type.
- Verbatim link dump on the same URL — "list every hyperlink, text
and href, no filtering". Accept product-specific names and
indexes.
.html - Verbatim dump on a sibling page — Jetson Linux archive, JetPack
downloads, or .
https://docs.nvidia.com/jetson/archives/r<ver>/
Only after all 3 fail, route to user-paste / skip. Never fabricate
URLs.
在「确定目标版本」和「定位版本制品」步骤中,对于每个制品的网络获取操作(BSP、根文件系统、、、开发者指南、用户指南),尝试3次后再标记为缺失:
public_sources.tbz2x-tools.tbz2- 聚焦提示 — 制品名称 + 文件类型。
- 同一URL上的完整链接导出 — "列出所有超链接、文本和href,不进行过滤"。接受产品特定名称和索引页。
.html - 同级页面的完整导出 — Jetson Linux归档页面、JetPack下载页面或。
https://docs.nvidia.com/jetson/archives/r<ver>/
只有在3次尝试全部失败后,才让用户手动粘贴链接或跳过该制品。绝不能伪造URL。
Locate release artifacts
定位版本制品
Follow links from the selected release page. Never construct NVIDIA
download URLs by string concatenation.
Required artifacts:
- Jetson Linux BSP image tarball.
- Tegra Linux sample root filesystem tarball.
- .
public_sources.tbz2 - / Crosstool-NG Toolchain gcc matching the selected BSP release.
x-tools.tbz2 - Developer Guide.
- User Guide.
If a guide is not available as a direct file link, accept the release
documentation URL as the artifact and record it in the final summary.
If the toolchain is listed on a JetPack downloads page instead of the
release page, follow the official page link and match the selected BSP
release; do not synthesize the URL from a release number.
Do not proceed until each required artifact is downloaded, already
present at its destination, represented by a URL, or explicitly skipped
by the user.
从所选版本页面中跟随链接查找。绝不能通过字符串拼接构造NVIDIA下载URL。
必需制品:
- Jetson Linux BSP镜像压缩包。
- Tegra Linux示例根文件系统压缩包。
- 。
public_sources.tbz2 - 与所选BSP版本匹配的/ Crosstool-NG Toolchain gcc。
x-tools.tbz2 - 开发者指南。
- 用户指南。
如果指南无法通过直接文件链接获取,则接受版本文档URL作为制品并记录在最终总结中。如果工具链在JetPack下载页面而非版本页面列出,则跟随官方页面链接并匹配所选BSP版本;请勿通过版本号合成URL。在每个必需制品完成下载、已存在于目标路径、由URL表示或被用户明确跳过之前,请勿继续操作。
Show the fetch plan
展示下载计划
Before changing the workspace, print a plan with:
- selected release and release page URL;
- active platform summary (, optional
reference_devkit.name, andcustom_carrier.name);flash_config - source URL and destination path, or documentation URL, for every artifact;
- any existing destination file that will be reused;
- any artifact that requires browser/EULA handling instead of .
curl
Default to Download all. Do not ask an extra confirmation when every
required artifact is downloadable, already present for reuse, or a
documentation URL to record. Print the plan and continue to disk-space
verification.
Still stop and ask before side effects in any of these cases:
- the release required an incompatibility override;
- a required artifact is missing and needs user-paste / skip;
- a destination file would be overwritten rather than reused;
- the artifact requires browser/EULA handling;
- disk-space verification fails or cannot be computed safely.
在修改工作区之前,打印包含以下内容的计划:
- 所选版本及版本页面URL;
- 当前平台摘要(、可选的
reference_devkit.name和custom_carrier.name);flash_config - 每个制品的来源URL和目标路径,或文档URL;
- 任何将被复用的现有目标文件;
- 任何需要浏览器/EULA处理而非下载的制品。
curl
默认选择全部下载。当所有必需制品均可下载、已存在可复用或为需记录的文档URL时,无需额外确认。打印计划后继续进行磁盘空间验证。
在以下任何情况下,仍需停止操作并询问用户后再执行副作用操作:
- 版本需要兼容性覆盖;
- 某个必需制品缺失,需要用户手动粘贴链接或跳过;
- 目标文件将被覆盖而非复用;
- 制品需要浏览器/EULA处理;
- 磁盘空间验证失败或无法安全计算。
Verify disk space
验证磁盘空间
Sum across artifacts to download ();
refuse if headroom < sum × 1.2.
Skip URL-only artifacts.
Content-Lengthcurl -sI <url>df -B1 --output=avail <workspace>计算所有待下载制品的总和(通过获取);如果显示的可用空间 < 总和 × 1.2,则拒绝执行。跳过仅URL形式的制品。
Content-Lengthcurl -sI <url>df -B1 --output=avail <workspace>Download safely
安全下载
Create destination directories as needed. For direct file links, use a
temporary path and rename only after success:
.partbash
mkdir -p "<destination-dir>"
curl -fL --retry 3 --retry-all-errors --retry-delay 5 -o "<destination>.part" "<artifact-url>"
mv "<destination>.part" "<destination>"If a destination file already exists and is non-empty, reuse it by
default after showing its path. Ask before overwriting. If an artifact
download fails due to 404, 401/403, EULA/browser authentication, or a
network error, stop and show the artifact URL plus expected destination
path. Ask the user to download the file manually, skip that artifact, or
cancel. Do not synthesize alternate NVIDIA URLs.
根据需要创建目标目录。对于直接文件链接,使用临时的路径,仅在下载成功后重命名:
.partbash
mkdir -p "<destination-dir>"
curl -fL --retry 3 --retry-all-errors --retry-delay 5 -o "<destination>.part" "<artifact-url>"
mv "<destination>.part" "<destination>"如果目标文件已存在且非空,默认在展示其路径后复用该文件。覆盖前需询问用户。如果制品因404、401/403、EULA/浏览器认证或网络错误导致下载失败,则停止操作并展示制品URL及预期目标路径。让用户手动下载文件、跳过该制品或取消操作。绝不能合成替代的NVIDIA URL。
Validate filenames
验证文件名
Before finishing, verify the BSP and rootfs tarball filenames contain
the exact token from the official artifact URL or filename
discovered in Step 2. may have two or three numeric components
(, , , etc.). Do not infer from
, and do not assume that a selected two-component release maps to
a three-component tarball name:
R<ver><ver>R38.2R38.2.1R38.4R38.2.0R38.2Jetson_Linux_R<ver>_aarch64.tbz2Tegra_Linux_Sample-Root-Filesystem_R<ver>_aarch64.tbz2
Verify is a bzip2 tarball when it exists locally:
public_sources.tbz2bash
file -b "<workspace>/Downloads/public_sources.tbz2" | grep -q "bzip2 compressed"Verify the same way when it exists locally:
x-tools.tbz2bash
file -b "<workspace>/Downloads/x-tools.tbz2" | grep -q "bzip2 compressed"Warn, but do not fail, if document filenames differ from the release
version; NVIDIA documentation naming is less consistent than tarballs.
完成下载前,验证BSP和根文件系统压缩包的文件名是否包含步骤2中发现的官方制品URL或文件名中的精确标识。可能包含两个或三个数字组件(如、、等)。请勿从推断出,也不要假设所选的两位组件版本对应三位组件的压缩包名称:
R<ver><ver>R38.2R38.2.1R38.4R38.2R38.2.0Jetson_Linux_R<ver>_aarch64.tbz2Tegra_Linux_Sample-Root-Filesystem_R<ver>_aarch64.tbz2
当存在于本地时,验证其是否为bzip2压缩包:
public_sources.tbz2bash
file -b "<workspace>/Downloads/public_sources.tbz2" | grep -q "bzip2 compressed"当存在于本地时,以相同方式验证:
x-tools.tbz2bash
file -b "<workspace>/Downloads/x-tools.tbz2" | grep -q "bzip2 compressed"如果文档文件名与版本不一致,发出警告但不终止操作;NVIDIA文档的命名一致性不如压缩包。
Finish
完成操作
Report the selected release, downloaded/reused/skipped artifacts, and
exact local paths. Then hand back to the caller with:
/jetson-init-image/jetson-init-source/jetson-link-docs
报告所选版本、已下载/复用/跳过的制品以及确切的本地路径。然后将控制权交回调用方,后续执行:
/jetson-init-image/jetson-init-source/jetson-link-docs
Gotchas
注意事项
- Keep this skill download-only; extraction belongs to
and
jetson-init-image.jetson-init-source - Put image tarballs in the image root, not , because
Downloads/searches the image root, workspace root, and current directory.jetson-init-image - Put in
public_sources.tbz2becauseDownloads/auto-discovers that path for Branch A.jetson-init-source - Put in
x-tools.tbz2becauseDownloads/auto-extracts that path and writes the resultingjetson-init-sourceprefix.source.toolchain - The User Guide maps to in the profile schema (alongside
documents.bsp_user_guide).bsp_developer_guidewrites it when the user confirms; this skill only stages the file or URL.jetson-link-docs
- 本技能仅负责下载;解压操作属于和
jetson-init-image。jetson-init-source - 将镜像压缩包放置在镜像根目录而非,因为
Downloads/会搜索镜像根目录、工作区根目录和当前目录。jetson-init-image - 将放置在
public_sources.tbz2,因为Downloads/会自动发现该路径(分支A)。jetson-init-source - 将放置在
x-tools.tbz2,因为Downloads/会自动解压该路径并写入生成的jetson-init-source前缀。source.toolchain - 用户指南对应配置文件架构中的(与
documents.bsp_user_guide并列)。bsp_developer_guide会在用户确认后写入该信息;本技能仅负责暂存文件或URL。jetson-link-docs
Purpose
目的
Stage the four NVIDIA-shipped artifacts (BSP, sample rootfs,
public_sources, x-tools) plus the Developer / User Guides at the exact
paths the Setup skills look in, so ,
, and can run offline once
this skill is done.
/jetson-init-image/jetson-init-source/jetson-link-docs将NVIDIA提供的四个制品(BSP、示例根文件系统、public_sources、x-tools)以及开发者/用户指南放置在设置技能指定的精确路径中,以便本技能完成后,、和可以离线运行。
/jetson-init-image/jetson-init-source/jetson-link-docsPrerequisites
前置条件
- Active target profile resolved per
.
../../context/target-platform-contract.md - Network access to and the Jetson Linux archive page.
developer.nvidia.com - Workspace layout with the expected ,
Image/,Source/, andDownloads/roots (default workspace shape).Documents/
- 根据解析得到当前目标配置文件。
../../context/target-platform-contract.md - 可访问和Jetson Linux归档页面的网络权限。
developer.nvidia.com - 工作区布局包含预期的、
Image/、Source/和Downloads/根目录(默认工作区结构)。Documents/
Limitations
限制
- Download-only; never extracts, runs , mounts sources, registers documents, or mutates the active profile.
apply_binaries.sh - Release selection is bounded to entries published on the official Jetson Linux archive; pre-release or internal builds are out of scope.
- No retry / mirror logic — failures are surfaced to the user, not silently retried.
- 仅负责下载;绝不执行解压、运行、挂载源码、注册文档或修改当前配置文件的操作。
apply_binaries.sh - 版本选择仅限于官方Jetson Linux归档页面发布的条目;预发布或内部构建不在范围内。
- 无重试/镜像逻辑 — 失败会直接告知用户,不会静默重试。
Troubleshooting
故障排除
- Release page not reachable — check VPN / proxy; do not invent fallback URLs. Stop and report.
- Archive name mismatch with active platform — verify the release
declares the active reference devkit; if not, ask the user to pick a
supported release or switch target via .
/jetson-set-target - missing on archive — some releases ship it as a separate page; follow the release-page link rather than guessing the URL.
public_sources.tbz2 - Existing files in the destination — refuse to overwrite without confirmation; downloads must be idempotent at the user's discretion.
- 版本页面无法访问 — 检查VPN/代理;不要使用备用URL。停止操作并报告问题。
- 归档名称与当前平台不匹配 — 验证版本是否声明支持当前参考开发套件;如果不支持,让用户选择受支持的版本或通过切换目标。
/jetson-set-target - 归档中缺少— 某些版本会将其放在单独页面;跟随版本页面的链接查找,而非猜测URL。
public_sources.tbz2 - 目标路径中存在现有文件 — 未经确认不得覆盖;下载操作需根据用户判断保证幂等性。
References
参考资料
../../context/target-platform-contract.md../jetson-quick-start/SKILL.md../jetson-init-image/SKILL.md../jetson-init-source/SKILL.md../jetson-link-docs/SKILL.md- Jetson Linux archive: https://developer.nvidia.com/embedded/jetson-linux-archive
../../context/target-platform-contract.md../jetson-quick-start/SKILL.md../jetson-init-image/SKILL.md../jetson-init-source/SKILL.md../jetson-link-docs/SKILL.md- Jetson Linux归档页面:https://developer.nvidia.com/embedded/jetson-linux-archive