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-wininstallation 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:
- Hold Recovery.
- Tap Reset.
- Keep holding Recovery for about two seconds.
- 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.