seeed-projects/seeed-jetson-developtool/jetpack-ota-update

Claude Code and agent skill by seeed-projects/seeed-jetson-developtool

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Perform an image-based OTA update on Seeed Jetson devices to upgrade from JetPack 5.1.3 to JetPack 6.0. Requires Ubuntu 20.04 host PC and USB-C cable. Demonstrated on reComputer J3010.

Install

npx vskill@latest install seeed-projects/seeed-jetson-developtool/jetpack-ota-update

SKILL.md

JetPack Image-Based OTA Update (5.1.3 → 6.0)

Upgrade Jetson Linux from JetPack 5.1.3 to JetPack 6.0 using NVIDIA's image-based over-the-air update mechanism. Demonstrated on reComputer J3010.

Hardware: reComputer J4012/J4011/J3010/J3011, USB-C cable Software: Ubuntu 20.04 host PC, internet connection


Execution model

Run one phase at a time. After each phase:

  • If output contains [STOP] → stop immediately, consult the failure decision tree
  • If output ends with [OK] → tell the user "Phase N complete" and proceed

Board-specific variables must be set based on the Jetson module:

ModuleBOARDIDBOARDSKUFABBOARDREVCHIP_SKU
Orin Nano 4G37670004300N.200:00:00:D6
Orin Nano 8G37670003300N.200:00:00:D6
Orin NX 8G37670001300M.300:00:00:D4
Orin NX 16G37670000300G.300:00:00:D3

Phase 1 — download JP5.1.3 BSP (~10 min)

bash
mkdir -p jp5 && cd jp5
wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v5.0/release/jetson_linux_r35.5.0_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v5.0/release/tegra_linux_sample-root-filesystem_r35.5.0_aarch64.tbz2

[OK] when both files download successfully.


Phase 2 — build JP5.1.3 system image (~15 min)

bash
tar xf jetson_linux_r35.5.0_aarch64.tbz2
sudo tar xpf tegra_linux_sample-root-filesystem_r35.5.0_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
cd Linux_for_Tegra
sudo ./apply_binaries.sh

Generate the system image (replace variables per the table above):

bash
sudo BOARDID=<BOARDID> BOARDSKU=<BOARDSKU> FAB=<FAB> BOARDREV=<BOARDREV> CHIP_SKU=<CHIP_SKU> \
./tools/kernel_flash/l4t_initrd_flash.sh \
--external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_nvme.xml \
-p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg" \
--no-flash --massflash 5 --network usb0 \
jetson-orin-nano-devkit external

[OK] when mfi_jetson-orin-nano-devkit.tar.gz is generated in Linux_for_Tegra/.


Phase 3 — (optional) flash JP5.1.3 to device

If the device doesn't already have JP5.1.3:

bash
sudo tar xpf mfi_jetson-orin-nano-devkit.tar.gz
cd mfi_jetson-orin-nano-devkit
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1 --network usb0 --showlogs

[OK] when device boots JP5.1.3.


Phase 4 — download JP6.0 BSP + OTA tools (~10 min)

bash
cd <root_dir>
mkdir -p jp6 && cd jp6
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/jetson_linux_r36.3.0_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/tegra_linux_sample-root-filesystem_r36.3.0_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/ota_tools_R36.3.0_aarch64.tbz2

[OK] when all three files download successfully.


Phase 5 — build JP6.0 system image (~15 min)

bash
tar xf jetson_linux_r36.3.0_aarch64.tbz2
sudo tar xpf tegra_linux_sample-root-filesystem_r36.3.0_aarch64.tbz2 -C Linux_for_Tegra/rootfs
cd Linux_for_Tegra
sudo ./apply_binaries.sh
sudo BOARDID=<BOARDID> BOARDSKU=<BOARDSKU> FAB=<FAB> BOARDREV=<BOARDREV> CHIP_SKU=<CHIP_SKU> \
./tools/kernel_flash/l4t_initrd_flash.sh \
--external-device nvme0n1p1 \
-c tools/kernel_flash/flash_l4t_nvme.xml \
-p "-c bootloader/generic/cfg/flash_t234_qspi.xml --no-systemimg" \
--no-flash --massflash 5 --network usb0 \
jetson-orin-nano-devkit external

[OK] when image generation completes.


Phase 6 — generate OTA payload package (~10 min)

bash
cd <root_dir>/jp6
tar xf ota_tools_R36.3.0_aarch64.tbz2
cd Linux_for_Tegra
sudo BASE_BSP=<root_dir>/jp5/Linux_for_Tegra \
./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh \
--external-device nvme0n1 -S 80GiB jetson-orin-nano-devkit R35-5

[OK] when ota_payload_package.tar.gz appears in Linux_for_Tegra/bootloader/jetson-orin-nano-devkit/.


Phase 7 — apply OTA on device (~15 min)

Copy the OTA package to the Jetson device and run on the device:

bash
scp <host_path>/jp6/Linux_for_Tegra/bootloader/jetson-orin-nano-devkit/ota_payload_package.tar.gz <user>@<jetson_ip>:~

On the Jetson device:

bash
wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v3.0/release/ota_tools_R36.3.0_aarch64.tbz2
sudo mkdir -p /ota
sudo mv ~/ota_payload_package.tar.gz /ota
tar xf ota_tools_R36.3.0_aarch64.tbz2
cd ~/Linux_for_Tegra/tools/ota_tools/version_upgrade
sudo ./nv_ota_start.sh /ota/ota_payload_package.tar.gz

After completion, reboot the device:

bash
sudo reboot

[OK] when device boots into JetPack 6.0.


Failure decision tree

SymptomAction
BSP download failsCheck internet. Verify URLs are still valid at NVIDIA's download page.
apply_binaries.sh failsEnsure rootfs was extracted with sudo tar xpf. Re-extract and retry.
Image generation failsVerify BOARDID/BOARDSKU/FAB/BOARDREV/CHIP_SKU match your module.
OTA package generation failsEnsure BASE_BSP path points to the JP5.1.3 Linux_for_Tegra directory.
nv_ota_start.sh fails on deviceCheck disk space (df -h). Ensure OTA package is in /ota/.
Device won't boot after OTARe-flash JP6.0 directly using standard flash method as fallback.

Reference files

  • references/source.body.md — Original Seeed wiki with board-specific variable tables and screenshots

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
57
Repository forks
8
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/seeed-projects/seeed-jetson-developtool/jetpack-ota-update/badge)](https://verified-skill.com/skills/seeed-projects/seeed-jetson-developtool/jetpack-ota-update)

Something wrong with this skill or its page? Tell us.