Jetson TX2 + Orbitty flashing from Windows/WSL2

Reproducible procedure for preparing a Windows 11 host with WSL2, forwarding a Jetson recovery-mode USB device into Ubuntu 22.04, building a pinned Jetson Linux R32.7.5 flash tree, installing the Connect Tech TX2 BSP, and flashing a standard Jetson TX2 module on a Connect Tech Orbitty ASG003 carrier.

Scope

This repository is intentionally narrow:

  • Host: Windows 11 + WSL2 + Ubuntu 22.04
  • Module: NVIDIA Jetson TX2, standard P3310/P3310-1000 variant
  • Carrier: Connect Tech Orbitty ASG003
  • JetPack generation: JetPack 4.6.5
  • Jetson Linux / L4T: R32.7.5
  • Connect Tech BSP: CTI-L4T-TX2-32.7.5-V001
  • Target root filesystem: Ubuntu 18.04.6 LTS

Do not use the standard-TX2 flash profile for TX2i or TX2 4GB modules. Those variants have separate CTI profiles.

Validation status

Confirmed during the source session:

  • WSL2 Ubuntu 22.04 host preparation
  • usbipd-win installation and USB forwarding into WSL2
  • Generic USB passthrough validated end-to-end
  • NVIDIA R32.7.5 BSP and sample rootfs downloaded and verified
  • NVIDIA binaries applied successfully with QEMU
  • CTI TX2 R32.7.5 V001 BSP installed successfully
  • Orbitty ASG003 DTB and CTI profile present
  • Default-user image customization works
  • NVIDIA SDK Manager GUI launches under WSLg with the documented D-Bus workaround

The original module failed electrically before an end-to-end flash could be completed. The flash command and profile in this repository follow the installed CTI profile and CTI's documented manual-flash form, but the final USB flash should be validated with a known-good TX2 and then this notice updated.

Fast path

1. Prepare Windows and WSL2

Run PowerShell as Administrator:

Set-ExecutionPolicy -Scope Process Bypass
.\scripts\windows\setup-host.ps1

Open Ubuntu 22.04:

wsl -d Ubuntu-22.04

2. Install WSL dependencies

Inside WSL:

bash scripts/wsl/install-dependencies.sh

Keep the build tree in the WSL Linux filesystem, not under /mnt/c:

cp -a /mnt/c/path/to/this-repo ~/jetson-tx2-orbitty-wsl-flash
cd ~/jetson-tx2-orbitty-wsl-flash

3. Build the pinned flash tree

bash scripts/wsl/build-orbitty-flash-tree.sh

The completed tree is created at:

~/jetson/orbitty/build/Linux_for_Tegra

4. Optionally pre-create the target user

This skips the graphical OEM first-boot account setup:

bash scripts/wsl/create-default-user.sh

The script prompts for the username, hostname, and password without storing the password in this repository.

5. Put the Orbitty/TX2 into recovery mode

With the carrier powered and the USB OTG cable connected:

  1. Hold Recovery.
  2. Tap Reset.
  3. Keep holding Recovery for about two seconds.
  4. Release Recovery.

See docs/03-recovery-and-usb.md for the full USB forwarding sequence.

6. Attach the NVIDIA recovery device to WSL2

In Administrator PowerShell:

usbipd list

Find the line whose VID begins with NVIDIA's 0955, then run:

.\scripts\windows\attach-jetson.ps1 -BusId <BUSID>

Inside WSL:

lsusb | grep -i 0955
bash scripts/wsl/preflight.sh

7. Flash

Close SDK Manager before running the CTI/NVIDIA command-line flash.

bash scripts/wsl/flash-orbitty.sh

The deterministic manual profile used is:

sudo ./flash.sh cti/tx2/orbitty/base mmcblk0p1

The CTI interactive helper remains available as an alternative:

cd ~/jetson/orbitty/build/Linux_for_Tegra
sudo ./cti-flash.sh

Repository layout

checksums/               Pinned archive SHA-256 values
docs/                    Detailed procedure and troubleshooting
scripts/windows/         PowerShell host and USB-forwarding helpers
scripts/wsl/             WSL dependency, build, preflight, and flash helpers

Security

Never commit target passwords, Gitea credentials, NVIDIA credentials, SSH keys, or raw terminal transcripts containing secrets. See SECURITY.md.

References

See docs/references.md.

S
Description
No description provided
Readme
39 KiB
0 Stars 1 Watchers 1 Forks
Languages
Shell 78.1%
PowerShell 21.9%