Windows Subsystem for Linux (WSL)

SDK Manager supports flashing and installing SDKs on Jetson, Holoscan, and Ethernet Switch hardware from a Windows computer using WSL systems. To set up your environment, follow the instructions below.

Setup the WSL Environment

  • It is recommended that you use Windows Terminal instead of the Windows command prompt.

  • Install Linux distributions that comply with the SDK you are about to install.

    • See a list of available distros with the following command:

      wsl --list --online
      
    • Install the required distribution by running the below command (it may require elevated mode and system reboot):

      wsl --install -d <DistroName>
      
    • Ensure you have the latest WSL kernel with the following command:

      wsl.exe --update
      
    • More information is available at the Install WSL @ Microsoft Documentation.

  • Verify your Linux distribution is set to WSL2 by following the steps at: Set distribution to WSL 2.

  • To use the SDK Manager GUI, you need to verify WSL GUI is set with the instructions found at Run Linux GUI apps with WSL. This requires Windows 11 (Build 22000 or later).

To flash a NVIDIA physical device which is connected over USB to your host Windows machine, you will need to install USBIPD. To do so, follow the article Connect USB devices with WSL.

Setup the Linux Distribution Environment

In your Linux distribution:

  • Install additional recommended packages by running the below commands:

    sudo apt update
    
    sudo apt install iputils-ping iproute2 netcat iptables dnsutils network-manager usbutils net-tools python3-yaml dosfstools libgetopt-complete-perl openssh-client binutils xxd cpio udev dmidecode -y
    
  • To flash a NVIDIA device connected over USB, install the following packages by running the below commands:

    sudo apt install linux-tools-virtual hwdata
    
    sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20
    
  • Install SDK Manager, which is available from https://developer.nvidia.com/nvidia-sdk-manager.

Run SDK Manager in CLI mode (or GUI if enabled) and follow the standard SDK install instructions.

Flash a Jetson Device

  1. Run your WSL Linux distribution.

  2. Connect the Jetson device to a USB port on your Windows machine.

  3. Boot the Jetson device into Recovery mode.

  4. Attach the USB BUS ID of the Jetson device to the WSL distribution.

    1. From Windows PowerShell terminal, run the following command:

      usbipd.exe list
      
    2. Identify the BUS ID of the selected Jetson device (starting 0955).

    3. Attach the BUS ID to the WSL Linux distribution by running the following command:

      usbipd.exe wsl attach --busid <BUSID> --auto-attach --distribution <distribution>
      
  5. Validate that the Jetson device appears in the WSL Linux distribution by running the following command:

    lsusb
    
  6. Run the SDK Manager command to flash.

    1. Run SDK Manager in CLI mode (or GUI if enabled).

    2. Select the device that is attached to your machine.

    3. In the SDK Manager flash configuration dialog (in STEP 3), choose Manual Setup Mode for the recovery method.

    4. Continue with the flash operation.

      Flash progress can take a long time (up to 25 minutes). If a time-warning dialog is prompt, it is advised to click Continue and wait a bit longer.

    5. When the flash process is done, detach the USB by running the following command from your Windows PowerShell terminal:

      usbipd.exe wsl detach --busid <BUSID>
      

Known Issues

  1. Detection of the Jetson device in running mode is not available.

  2. To install SDK components on the Jetson device:

    1. Connect the Jetson device to the Internet using an Ethernet cable or to a Wi-Fi network.

    2. In the SDK Manager Install SDK Components dialog, choose ETH and enter the external IP address of the device.