Windows + WSL + Jetson SD Flashing: A Field Manual (White Paper)
On Windows, open PowerShell and type:
If you see something like “Ubuntu-24.04” listed, you’re good.
If not, install WSL with:
Once WSL is installed:
That’s your Linux command prompt.
Now plug the microSD (the one you flashed with Balena Etcher) into your PC.
Then in the Linux window, list all connected disks:
You’ll see output like:
The one around 512G will be your microSD card, probably
Create a mount point:
Then mount the first partition (often
If it mounts without errors, check its contents:
You should see directories or files like:
That means your flash worked and files are present.
Then you can safely remove it.
— that means WSL is installed and working.
Now let’s get Ubuntu 24.04 set up, since it’s the newest and matches your NVIDIA/Jetson ecosystem best.
In your PowerShell window (you’re already in the right place):
That command will:
When it finishes, you’ll see something like:
Then a new window (Ubuntu terminal) will open and ask:
Type something short, e.g.:
Then it’ll ask for a password — you’ll type it twice (it won’t show the letters, that’s normal).
From now on, you can open your Linux shell anytime by:
Once Ubuntu opens, you can:
Look for the one with
If you see Jetson or NVIDIA-related folders (
— let’s check what’s already installed.
In PowerShell, run this:
or the short version:
You’ll see something like this:
If you see Ubuntu-24.04 (or similar) listed →
you’re good.
If not, we’ll just install it with:
Go ahead and paste your
— that means you already have Ubuntu installed, and it’s using WSL2, which is exactly what we want.
Now let’s start it up and confirm it runs cleanly.
From PowerShell, just type:
That will start your default Linux distribution (Ubuntu).
You’ll know it’s running when you see something like:
If you see that prompt — congratulations, you’re inside Linux. 
Inside that Linux terminal, type:
Expected output:
Once you’re inside Linux and updated, insert your microSD card.
Then list all drives:
You’ll get a table showing all disks — your SD card will probably be
Then you can mount it:
That will display the flashed Jetson files if it was done correctly.
Would you like me to show you exactly how to identify which one is your SD card (so you don’t accidentally mount the wrong disk)?
Perfect — you’re officially inside Linux!
That line:
means:
Let’s walk through your next moves step-by-step, nice and easy
Right now, you’re inside Windows space. Let’s switch to your actual Linux home directory:
You’ll now see:
That’s your Linux “home” — the safe sandbox where we’ll do our work.
Just to confirm your distro version:
You should see:
If it’s 20.04 or 22.04, you’re fine — it still runs perfectly.
If you want to upgrade later, it’s easy, but not needed for now.
Now plug your microSD card into your PC (if it’s not already).
Windows will mount it as something like D: or E:.
Linux can’t automatically see it unless we mount it manually — but we can check what’s visible first.
Type:
You’ll get something like:
Once you find the correct device (e.g.,
You’ll see files like:
That confirms your Jetson OS flash is valid and readable.
When you’re finished:
Would you like me to show you how to safely identify your SD card (so you don’t accidentally mount your main Windows disk)?
— that’s exactly what we wanted to see.
You’re now running Ubuntu 24.04.1 LTS under WSL 2.
That means your Windows and Linux environments are both correctly configured and ready to manage Jetson hardware, flash cards, and run development tools.
Here’s your next clear sequence to verify that your Jetson microSD was successfully flashed.
Make sure it’s inserted in your PC’s card reader.
Windows may assign it a letter such as D: or E:. That’s fine.
Type:
You’ll see a list similar to:
Look for the device whose SIZE matches your microSD (e.g., 512 G).
That’s your card—likely
Replace
If it succeeds silently (no error), the card is mounted.
You should see something like:
That confirms the flash succeeded and files are present.
Would you like me to show you an example of what the Jetson folder structure should look like on a correctly flashed SD card (so you can compare your output)?
Your microSD card is not showing up yet inside WSL.
Let’s decode this:
No external removable device (microSD) is visible here.
WSL (Windows Subsystem for Linux) doesn’t directly see removable drives like SD cards or USB sticks until they are mounted through Windows.
But the good news is: you can access them through the
In the same Linux shell, type:
You’ll see something like:
If your SD card shows up in Windows as
Try:
or, if your SD card is D:
You should see something like:
That confirms the Jetson image is there.
If you want to dig deeper:
You’ll see all files in long list format with file sizes and dates.
Make sure:
Would you like me to walk you through how to verify in Windows Disk Management that the partitions are correct on the SD card (to confirm the Jetson image really flashed cleanly)?
Your Windows system has C:, D:, and E: drives visible to Linux.
Now we just need to see which one is your microSD card (the one you flashed with Balena Etcher).
Try these one by one:
and then:
Watch the output.
If you see folders like:
that’s your flashed Jetson SD card.
If you see typical Windows folders like:
then that’s just a normal Windows drive — try the other one.
Once you’ve found it, you can explore:
or replace
You’ll then see the actual file tree written by Balena Etcher — this confirms the flash succeeded.
You don’t need to “unmount” it under WSL; Windows already handles that.
Just close WSL or remove the card safely from Windows.
Go ahead and run the
— that tells us drive D: exists but it’s completely empty (no folders or files visible).
That almost always means one of these two things:
Balena Etcher often writes the Jetson image as a Linux ext4 partition, which Windows can’t read.
So from Windows —and therefore from
That’s normal for Jetson OS images.
Your flash probably succeeded.
You can confirm by using a disk-info tool that reads partitions directly.
To see them from Linux, you’d need to boot a real Ubuntu Live USB or use WSL USB Passthrough (advanced).
If you tell me what Disk Management shows for that SD (partition sizes + labels),
I can confirm 100 % whether your Jetson image is ready to boot.
Here’s the breakdown:
This is perfectly normal after a Jetson flash.
Balena Etcher wrote an image that only uses about 13 GB of the card; the rest is left unallocated because the Jetson operating-system image defines its own Linux partitions inside that first block.
Windows doesn’t understand the Jetson’s ext4 filesystem, so:
If you’d like, I can show you exactly what the first-boot sequence looks like and how to expand that 13 GB partition so the Jetson uses the full 512 GB. Would you like me to walk you through that next?
If WSL is already present, you’ll see available distros with:
If you installed previously and want to confirm WSL2 is the default engine:
This creates your Linux user.
Expected:
From the Ubuntu terminal:
Expected:
Inside Ubuntu (WSL):
Jetson first boot (on device):
A: No—ext4 is invisible to Windows. Use Disk Management for confirmation.
Q: Why doesn’t
A: WSL doesn’t expose raw removable block devices by default. Use Disk Management (Windows) or inspect the card from a native Linux machine.
Q: Do I need to pre-format the microSD?
A: No. Etcher writes the partition table and filesystems itself.
Q: Can I copy files onto the Jetson SD from Windows?
A: Not directly onto the ext4 root partition. Instead, boot the Jetson and transfer via SSH/SCP, USB stick (FAT32/exFAT), or a shared network folder.
On Windows, open PowerShell and type:
Code:
wsl --list --online
If not, install WSL with:
Code:
wsl --install -d Ubuntu-24.04
This downloads and sets up Ubuntu under Windows Subsystem for Linux (WSL).
After it installs, restart your PC if asked.
2. Open your Linux terminal window
Once WSL is installed:- Press Start, type “Ubuntu” (or “WSL”) and hit Enter.
- You’ll get a black Linux terminal window that looks like:
Code:
steve@DESKTOP-xxxx:~$
3. Find your flashed microSD card
Now plug the microSD (the one you flashed with Balena Etcher) into your PC.Then in the Linux window, list all connected disks:
Code:
lsblk
Code:
sda 500G disk
sda1 499G part /
sdb 512G disk
sdb1 2G part
sdb2 510G part
/dev/sdb.
4. Mount the microSD so you can see the files
Create a mount point:
Code:
sudo mkdir /mnt/sdcard
/dev/sdb1):
Code:
sudo mount /dev/sdb1 /mnt/sdcard
Code:
ls /mnt/sdcard
Code:
boot/
Linux_for_Tegra/
README.txt
5. Cleanly unmount the card when done
Code:
sudo umount /mnt/sdcard
Extra: WSL basics
ls→ list filescd foldername→ change directorypwd→ show where you aresudo→ “superuser do,”
You said:
PS C:\Users\openr\Linux> wsl --list --online The following is a list of valid distributions that can be installed. Install using 'wsl.exe --install <Distro>'. NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS Ubuntu-24.04 Ubuntu 24.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_10 Oracle Linux 8.10 OracleLinux_9_5 Oracle Linux 9.5 openSUSE-Leap-15.6 openSUSE Leap 15.6 SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6 openSUSE-Tumbleweed openSUSE Tumbleweed PS C:\Users\openr\Linux>ChatGPT said:
PerfectNow let’s get Ubuntu 24.04 set up, since it’s the newest and matches your NVIDIA/Jetson ecosystem best.
Step-by-Step: Install Ubuntu on WSL
In your PowerShell window (you’re already in the right place):
Code:
wsl --install -d Ubuntu-24.04
- Download Ubuntu 24.04 from Microsoft’s repository
- Unpack it under WSL
- Register it as your default Linux distribution
This may take 5–10 minutes depending on your connection.
After Installation Completes
When it finishes, you’ll see something like:
Code:
Installing, this may take a few minutes...
Installation successful!
Launching Ubuntu 24.04 LTS...
Code:
Enter new UNIX username:
Code:
steve
Launch Linux Anytime
From now on, you can open your Linux shell anytime by:- Pressing Start, typing Ubuntu, and hitting Enter
or - Typing in PowerShell:
Code:wsl
Code:
steve@DESKTOP-xxxx:~$
Next Steps Once Inside Linux
Once Ubuntu opens, you can:
Update it:
Code:
sudo apt update && sudo apt upgrade -y
List your drives to find the Jetson microSD:
Code:
lsblk
512G — that’s your SD card. Then mount it:
Code:
sudo mkdir /mnt/sdcard
sudo mount /dev/sdb1 /mnt/sdcard
ls /mnt/sdcard
boot/, `Linux_for_Tegra/You said:
I thought I installed that.. can we check..ChatGPT said:
Absolutely
Step 1: List installed WSL distros
In PowerShell, run this:
Code:
wsl --list --verbose
Code:
wsl -l -v
Code:
NAME STATE VERSION
* Ubuntu-24.04 Running 2
docker-desktop Stopped 2
Interpretation:
- NAME → which distributions are installed
- STATE → “Running” means active, “Stopped” means not open
- VERSION → should say 2 (WSL2 kernel, required for most things)
If you see Ubuntu-24.04 (or similar) listed →
If not, we’ll just install it with:
Code:
wsl --install -d Ubuntu-24.04
Go ahead and paste your
wsl -l -v output here and I’ll tell you exactly what’s installed and what to do next.You said:
PS C:\Users\openr\Linux> wsl --list --verbose NAME STATE VERSION * Ubuntu Stopped 2 PS C:\Users\openr\Linux>ChatGPT said:
PerfectNow let’s start it up and confirm it runs cleanly.
Step 1: Launch Ubuntu
From PowerShell, just type:
Code:
wsl
You’ll know it’s running when you see something like:
Code:
steve@DESKTOP-xxxx:~$
Step 2: Verify it’s Ubuntu 24.04
Inside that Linux terminal, type:
Code:
lsb_release -a
Code:
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Step 3: Update Linux packages (do this once)
Code:
sudo apt update && sudo apt upgrade -y
You’ll be asked for your Linux password — the one you created during setup.
It won’t show any dots or characters when typing; that’s normal.
Step 4: Check your microSD card
Once you’re inside Linux and updated, insert your microSD card.Then list all drives:
Code:
lsblk
/dev/sdb.Then you can mount it:
Code:
sudo mkdir /mnt/sdcard
sudo mount /dev/sdb1 /mnt/sdcard
ls /mnt/sdcard
Would you like me to show you exactly how to identify which one is your SD card (so you don’t accidentally mount the wrong disk)?
You said:
PS C:\Users\openr\Linux> wsl flynn@SADER:/mnt/c/Users/openr/Linux$ChatGPT said:
That line:
Code:
flynn@SADER:/mnt/c/Users/openr/Linux$
- flynn = your Linux username
- SADER = your Windows machine name
/mnt/c/Users/openr/Linux= you’re currently looking inside your Windows filesystem (yourC:drive mounted into Linux)
Let’s walk through your next moves step-by-step, nice and easy
Step 1: Go “home” in Linux
Right now, you’re inside Windows space. Let’s switch to your actual Linux home directory:
Code:
cd ~
Code:
flynn@SADER:~$
Step 2: Verify your Linux version
Just to confirm your distro version:
Code:
lsb_release -a
Code:
Distributor ID: Ubuntu
Description: Ubuntu 20.04 or 22.04 or 24.04 LTS
If you want to upgrade later, it’s easy, but not needed for now.
Step 3: Insert your Jetson microSD card
Now plug your microSD card into your PC (if it’s not already).Windows will mount it as something like D: or E:.
Linux can’t automatically see it unless we mount it manually — but we can check what’s visible first.
Step 4: List all drives and partitions
Type:
Code:
lsblk
Code:
sda 476.9G
├─sda1 476.8G /
sdb 512G
├─sdb1 512G
sdais your main Windows drive.sdbis most likely your microSD.
Step 5: Mount the microSD so you can explore it
Once you find the correct device (e.g., /dev/sdb1), run:
Code:
sudo mkdir /mnt/sdcard
sudo mount /dev/sdb1 /mnt/sdcard
ls /mnt/sdcard
Code:
boot/
Linux_for_Tegra/
README.txt
Optional: Unmount when done
When you’re finished:
Code:
sudo umount /mnt/sdcard
Would you like me to show you how to safely identify your SD card (so you don’t accidentally mount your main Windows disk)?
You said:
flynn@SADER:/mnt/c/Users/openr/Linux$ cd ~ flynn@SADER:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.1 LTS Release: 24.04 Codename: noble flynn@SADER:~$ChatGPT said:
PerfectThat means your Windows and Linux environments are both correctly configured and ready to manage Jetson hardware, flash cards, and run development tools.
Here’s your next clear sequence to verify that your Jetson microSD was successfully flashed.
Step 1: Plug in your microSD card
Make sure it’s inserted in your PC’s card reader.Windows may assign it a letter such as D: or E:. That’s fine.
Step 2: List all storage devices inside Linux
Type:
Code:
lsblk
Code:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 476.9G 0 disk
├─sda1 8:1 0 476.8G 0 part /
sdb 8:16 1 512G 0 disk
├─sdb1 8:17 1 511G 0 part
That’s your card—likely
/dev/sdb or /dev/sdc.
Step 3: Create a mount point
Code:
sudo mkdir -p /mnt/sdcard
Step 4: Mount the microSD
Replace /dev/sdb1 with whatever partition name you saw from lsblk:
Code:
sudo mount /dev/sdb1 /mnt/sdcard
Step 5: View the contents
Code:
ls /mnt/sdcard
Code:
boot/
Linux_for_Tegra/
README.txt
Step 6: Unmount when done
Code:
sudo umount /mnt/sdcard
Would you like me to show you an example of what the Jetson folder structure should look like on a correctly flashed SD card (so you can compare your output)?
You said:
MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 388.6M 1 disk sdb 8:16 0 8G 0 disk [SWAP] sdc 8:32 0 1T 0 disk /var/lib/docker /mnt/wslg/distro /ChatGPT said:
Excellent — you’re doing this exactly right, and thatlsblk output tells us something very clear:Your microSD card is not showing up yet inside WSL.
Let’s decode this:
What your output means
Code:
sda 388.6M disk ← a small virtual disk used by WSL (ignore)
sdb 8G [SWAP] ← Linux swap file (ignore)
sdc 1T /mnt/wslg/distro, /var/lib/docker ← your main virtual WSL storage (ignore)
Why?
WSL (Windows Subsystem for Linux) doesn’t directly see removable drives like SD cards or USB sticks until they are mounted through Windows.But the good news is: you can access them through the
/mnt/ path where Windows mounts its drives.
Step 1: Check what drives Windows sees
In the same Linux shell, type:
Code:
ls /mnt
Code:
c d e
E: for example, then /mnt/e is its Linux path.
Step 2: Look inside that drive
Try:
Code:
ls /mnt/e
Code:
ls /mnt/d
Code:
boot/
Linux_for_Tegra/
README.txt
Step 3 (Optional): Dive into a subfolder
If you want to dig deeper:
Code:
cd /mnt/e
ls -lah
If you don’t see your SD card at all
Make sure:- It’s inserted and visible in Windows File Explorer (shows up as a drive letter).
- You didn’t accidentally flash it as “unallocated” (Etcher sometimes hides partitions from Windows — in that case we can fix it).
Would you like me to walk you through how to verify in Windows Disk Management that the partitions are correct on the SD card (to confirm the Jetson image really flashed cleanly)?
You said:
/ flynn@SADER:~$ ls /mnt c d e wsl wslg flynn@SADER:~$ChatGPT said:
Perfect — that’s a great sign.Your Windows system has C:, D:, and E: drives visible to Linux.
Now we just need to see which one is your microSD card (the one you flashed with Balena Etcher).
Step 1: Test each drive to find the SD card
Try these one by one:
Code:
ls /mnt/d
Code:
ls /mnt/e
If you see folders like:
Code:
boot/
Linux_for_Tegra/
README.txt
If you see typical Windows folders like:
Code:
Documents/ Downloads/ Program Files/
Step 2: (Optional) Navigate inside the SD card
Once you’ve found it, you can explore:
Code:
cd /mnt/e
ls -lah
/mnt/e with /mnt/d depending on which one is your SD.You’ll then see the actual file tree written by Balena Etcher — this confirms the flash succeeded.
Step 3: When done
You don’t need to “unmount” it under WSL; Windows already handles that.Just close WSL or remove the card safely from Windows.
Go ahead and run the
ls /mnt/d and ls /mnt/e commands — tell me what shows up, and I’ll tell you if it looks like a valid Jetson image.You said:
flynn@SADER:~$ ls /mnt/d flynn@SADER:~$ flynn@SADER:~$ChatGPT said:
Perfect testThat almost always means one of these two things:
1. Etcher flashed the image as a “raw Linux partition”
Balena Etcher often writes the Jetson image as a Linux ext4 partition, which Windows can’t read.So from Windows —and therefore from
/mnt/d in WSL— you’ll see nothing, even though the files are really there.That’s normal for Jetson OS images.
2. How to verify the flash really worked
You can confirm by using a disk-info tool that reads partitions directly.Option A – Use Windows Disk Management
- Right-click the Start menu → Disk Management.
- Find your 512 GB microSD.
- You’ll likely see multiple small partitions (a few GB boot, maybe 1 GB system, some unallocated).
That means Etcher wrote the image correctly. - If Windows says “Healthy (Primary Partition)” with labels like system-boot or Linux, you’re done.
Option B – Use Linux tools in WSL
WSL doesn’t expose the raw/dev/sdX devices by default, so you can’t mount those directly inside WSL.To see them from Linux, you’d need to boot a real Ubuntu Live USB or use WSL USB Passthrough (advanced).
Summary
| What You Saw | What It Means | Next Action |
|---|---|---|
/mnt/d empty | SD uses Linux filesystem (ext4) | Normal — Windows can’t show it |
| Disk visible in Disk Management with partitions | Flash success | Safe to eject |
| No partitions at all | Flash failed | Re-flash with Balena Etcher |
If you tell me what Disk Management shows for that SD (partition sizes + labels),
I can confirm 100 % whether your Jetson image is ready to boot.
You said:
ChatGPT said:
Nice — that screenshot tells us exactly what’s going on with your microSD card.Here’s the breakdown:
What We See
- Disk 1 is your microSD card (
476.71 GBtotal). - It has:
- A 13.27 GB “Healthy (Primary Partition)”
- A 463.43 GB “Unallocated” section.
What That Means
Balena Etcher wrote an image that only uses about 13 GB of the card; the rest is left unallocated because the Jetson operating-system image defines its own Linux partitions inside that first block.
Windows doesn’t understand the Jetson’s ext4 filesystem, so:
- It shows the 13 GB slice as a generic “Healthy (Primary Partition)”
- It can’t read the contents (hence empty
/mnt/din WSL). - The big 463 GB chunk is hidden/unallocated space that Jetson will later resize and use automatically when you boot it.
Conclusion
- The flash succeeded.
- The microSD now holds the Jetson Orin Nano boot image.
- You’re ready to insert it into the Jetson board and power it on.
Next Steps to Boot Your Jetson
- Safely eject the microSD from Windows.
- Insert it into the Jetson Orin Nano’s micro-SD slot.
- Connect:
- HDMI display
- USB keyboard + mouse
- Power supply (USB-C or barrel jack, depending on model)
- Power on the Jetson.
- You should see the NVIDIA Jetson Linux boot logo.
- Follow the on-screen setup (language, Wi-Fi, user name, etc.).
If you’d like, I can show you exactly what the first-boot sequence looks like and how to expand that 13 GB partition so the Jetson uses the full 512 GB. Would you like me to walk you through that next?
You said:
for my forum.. can you give me a full write up of all this...from the installing Linux and starting the WSL and how to exit. Installing all the common Linux tools. And About flashing the Jetson to the micro SD card via Balenetcher. Be as detailed as you can and also describe about the windows partition thing and how you have to right click the start menu to see the disk management and interpret what they should see. Do a technical white paper.. very very detailed.ChatGPT said:
Thought for 28sWindows + WSL + Jetson SD Flashing: A Field Manual (White Paper)
Abstract
This white paper documents, end-to-end, how to: (1) install and operate Ubuntu Linux under Windows Subsystem for Linux (WSL2), (2) use the Linux shell effectively (launch, update, exit, shutdown), (3) install a practical baseline of Linux tools for day-to-day engineering, and (4) flash an NVIDIA Jetson Orin Nano microSD card with Balena Etcher, validate the result, and understand why Windows shows “weird” partitions afterward. It’s written for first-time setup on a modern Windows 10/11 machine.1) Prerequisites
- Windows 10 (21H2+) or Windows 11 with admin rights
- Reliable internet connection
- microSD card (32–512 GB; UHS-I recommended) + USB/microSD reader
- Balena Etcher (Windows build)
- Optional: HDMI monitor, USB keyboard/mouse for first boot on Jetson
2) Install and Verify WSL2 (Ubuntu 24.04 LTS)
2.1 Install WSL2 kernel and distribution
Open PowerShell (Admin) and run:
Code:
wsl --install -d Ubuntu-24.04
Code:
wsl --list --online
Code:
wsl --set-default-version 2
2.2 First launch & user creation
After install completes, Windows launches Ubuntu and prompts:
Code:
Enter new UNIX username: <choose one>
New password:
2.3 Verify what’s installed
From PowerShell:
Code:
wsl -l -v
Code:
NAME STATE VERSION
Ubuntu Running 2
Code:
lsb_release -a
Code:
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
3) Operating WSL: Launch, Navigate, Exit, Shutdown
3.1 Launch the Linux shell
- Start menu → type Ubuntu → Enter, or
- From PowerShell:
Code:wsl
<username>@<PCNAME>:~$3.2 Where you are (paths)
~= your Linux home (e.g.,/home/flynn)- Windows drives are auto-mounted:
C:→/mnt/cD:→/mnt/dE:→/mnt/e
3.3 Basic navigation commands
Code:
pwd # print working directory
ls -lah # list directory with details
cd <path> # change directory
mkdir <name> # make folder
rm -rf <path> # delete (careful)
3.4 Exit & shutdown
Code:
exit # leave the current Linux shell
wsl --shutdown # run from Windows PowerShell to stop all WSL instances
4) First-Day Linux Package Baseline (Recommended)
Run the following inside the Ubuntu terminal:4.1 Update/upgrade
Code:
sudo apt update && sudo apt upgrade -y
4.2 Common CLI utilities
Code:
sudo apt install -y build-essential curl wget unzip zip \
git ca-certificates gnupg lsb-release software-properties-common \
net-tools iproute2 iputils-ping dnsutils traceroute \
htop tree neofetch tmux vim nano \
python3 python3-pip python3-venv \
jq sqlite3 dos2unix parted fdisk
4.3 Network diagnostics quick hits
ip a– interfacesip r– routesping 8.8.8.8– external reachabilitynslookup example.com/dig example.com– DNS
5) Balena Etcher: Flash Jetson Image to microSD
5.1 Download the correct image
- Jetson Orin Nano typically uses NVIDIA’s Jetson Linux-based image. (Follow NVIDIA’s official instructions for your exact dev kit; different kits have different images.)
5.2 Flash with Etcher (Windows)
- Insert microSD into your Windows PC.
- Open Balena Etcher.
- Flash from file → choose your Jetson image (
.imgor.zip/.xz). - Select target → choose the microSD device (double-check capacity to avoid nuking your HDD/SSD).
- Flash → allow validation to complete.
- When Etcher finishes, close Etcher, then safely eject the card from Windows tray or File Explorer.
Notes
- If Windows prompts to “format” the card after flashing, cancel. That’s expected—Windows can’t read Linux partitions.
- Large cards may show as “almost empty” or “unallocated” in Windows. That’s normal (explained in §7).
6) Validating the Flash (Two Approaches)
6.1 “Windows-path” view via WSL
Because WSL exposes Windows mounts:
Code:
ls /mnt/d
ls /mnt/e
- If the microSD uses a Linux filesystem (ext4), Windows can’t read it—these folders may look empty. That does not mean the card is blank; it means Windows doesn’t understand its filesystem.
6.2 Disk Management (definitive Windows-side check)
- Right-click Start → Disk Management.
- Identify your Removable disk matching your microSD capacity (e.g., 476.71 GB).
- Typical post-flash appearance for Jetson images:
- A small partition (e.g., 13 GB) labeled Healthy (Primary Partition)
- A large chunk of Unallocated space (e.g., 463 GB)
How to interpret:
- Healthy (Primary Partition): This is the Linux partition containing the Jetson OS and boot files. Windows can’t mount ext4, so it won’t show files.
- Big Unallocated: The original image is smaller than your card. On first boot, Jetson typically expands the root filesystem to occupy free space (or you can do it manually later).
7) Why Windows Shows “Empty” or “Unallocated”
- Jetson images use ext4 partitions. Windows natively reads NTFS/FAT, not ext4.
- Balena Etcher writes a sector-for-sector image that includes a partition table + ext4.
- Windows Disk Management will show:
- One or more Healthy (Primary Partition) entries it can’t open
- Remaining space as Unallocated
- This is correct. Do not reformat from Windows—doing so will destroy the Jetson image.
8) First Boot on the Jetson Orin Nano
8.1 Hardware hookup
- Insert the flashed microSD into the Jetson’s microSD slot.
- Connect HDMI to a display; plug in USB keyboard & mouse.
- Connect power (per your kit’s spec).
8.2 Expected sequence
- NVIDIA/Jetson boot logo appears.
- First-boot wizard: locale, user, network, etc.
- Root filesystem often expands automatically on first boot; if not, you can expand later with
gpartedorresize2fs(on the Jetson itself).
8.3 Optional headless use
If you plan to run headless:- Connect Ethernet to your LAN, then find the Jetson’s IP from your router or with network scanners.
- SSH from your PC:
Code:ssh <username>@<jetson-ip>
9) Cross-Checking the microSD From Linux Proper (Advanced)
WSL normally does not expose raw block devices like/dev/sdb for removable media. If you must inspect partitions at the block level:- Use a real Ubuntu Live USB session, or
- Use a dedicated Linux box, then:
Code:lsblk sudo fdisk -l /dev/sdX sudo mount /dev/sdX1 /mnt/sdcard ls /mnt/sdcard sudo umount /mnt/sdcard
10) Common Pitfalls & Fixes
| Symptom | Likely Cause | Fix |
|---|---|---|
| Windows asks to format the SD after flashing | Windows can’t read ext4 | Click Cancel; do not format |
/mnt/d or /mnt/e looks empty in WSL | Linux filesystem on SD | Normal; verify with Disk Management instead |
| Etcher “Validated but Jetson won’t boot” | Wrong image for your dev kit, power supply marginal, bad SD | Re-download the correct image; try another SD (UHS-I, A1/A2), verify power |
| SD shows as one tiny partition and huge unallocated | Image smaller than card | Normal; rootfs expands on first boot (or expand manually later) |
| Accidentally selected wrong drive in Etcher | Human error | Restore from backups; always double-check device capacity before flashing |
| Windows can’t see the SD at all | Reader/port issue | Try another USB port/reader; check Device Manager |
11) Daily-Driver Linux Tricks (WSL)
11.1 Update frequently
Code:
sudo apt update && sudo apt upgrade -y
11.2 Quick system info
Code:
neofetch # pretty summary
htop # process viewer
df -h # disk usage
free -h # memory usage
11.3 Quality of life
Code:
git config --global user.name "Your Name"
git config --global user.email [email protected]
11.4 Shutdown when done
Code:
exit
# (Back in PowerShell)
wsl --shutdown
12) MicroSD Capacity Planning for Jetson
- 32 GB: OK for minimal OS + light dev; tight for datasets.
- 64–128 GB: Good baseline for general dev + small ML.
- 256–512 GB: Best for media, containers, larger datasets.
Use reputable A1/A2-rated cards (SanDisk/WD/Samsung). Cheap or fake cards cause mysterious boot and corruption issues.
13) Post-Boot Expansion (If Needed)
On the Jetson, if your rootfs didn’t auto-expand:sudo apt install gparted(or useparted/fdisk+resize2fs)- Extend the root partition to fill the card.
- Run:
Code:sudo resize2fs /dev/mmcblk0p# # replace with your rootfs partition - Verify:
You should now see the full card capacity available.Code:df -h
14) Safety Checklist (Before Flashing Anything)
- Unplug external storage you don’t intend to flash.
- In Etcher’s Select target, verify capacity matches your microSD.
- Prefer Verify (Etcher’s validation) to catch write errors early.
- After flashing, Disk Management should show a small Healthy partition and large Unallocated space—that’s a pass.
15) Quick Command Reference
WSL management (PowerShell):
Code:
wsl -l -v # list distros & version
wsl --install -d Ubuntu-24.04
wsl --set-default-version 2
wsl --shutdown
Code:
lsb_release -a
sudo apt update && sudo apt upgrade -y
ls /mnt/c /mnt/d /mnt/e
Code:
ip a # get IP if headless
sudo apt update
df -h # confirm expanded storage
16) What “Good” Looks Like (At a Glance)
- WSL:
Ubuntu 24.04 LTS,wsl -l -vshowsVERSION 2, launches cleanly. - Etcher: Flash completes with validation OK.
- Disk Management: Removable disk shows small Healthy Primary Partition + large Unallocated.
- Jetson boot: NVIDIA splash → first-boot wizard → login →
df -hshows most of the SD capacity after expansion.
17) Appendix: FAQ
Q: Windows shows the SD as empty. Did my flash fail?A: No—ext4 is invisible to Windows. Use Disk Management for confirmation.
Q: Why doesn’t
/dev/sdb appear in WSL?A: WSL doesn’t expose raw removable block devices by default. Use Disk Management (Windows) or inspect the card from a native Linux machine.
Q: Do I need to pre-format the microSD?
A: No. Etcher writes the partition table and filesystems itself.
Q: Can I copy files onto the Jetson SD from Windows?
A: Not directly onto the ext4 root partition. Instead, boot the Jetson and transfer via SSH/SCP, USB stick (FAT32/exFAT), or a shared network folder.
18) Executive Summary (Forum-Ready)
- Install WSL2 + Ubuntu 24.04:
wsl --install -d Ubuntu-24.04. - Launch Ubuntu, update packages:
sudo apt update && sudo apt upgrade -y. - Install core tools (git, curl, htop, net tools, Python, etc.).
- Flash Jetson image with Balena Etcher; select the correct device and allow validation.
- Verify via Disk Management (Right-click Start → Disk Management). Expect a small Healthy Primary Partition and large Unallocated region. Do not format.
- Insert microSD into Jetson; first boot should expand storage and launch the setup wizard.
- Operate WSL day-to-day;
exitto leave the shell,wsl --shutdownto stop all instances.