Jetson Orin Nano Developer Kit - Boot from NVMe

Hi There,

My Current setup: I’ve a Jetson Orin Nano Developer Kit, and my personal Macbook Pro (Intel) and work Windows 10 laptop (HP Elitebook)

What i’m trying to do: I’ve been trying to use SDK manager to flash the NVMe on my Jetson Orin Nano.

How i’ve tried doing this: I’ve used VirtualBox v7+ on my Mac and Windows (note I can’t natively install Ubuntu on my windows laptop). and flash the Jetson Nano.

Issue / blocker: I’m facing a USB version incompatibility between the Virtual Box (using Extension). Vitual Box is not registering USB 2.0 or low, and when i use USB 3 (with USB-C) the Jetson device is recognized by the SDK manager, but fails to flash saying it doesn’t support USB 3.

Seeking for solution:
Is there a proven and simple way, i can flash the NVMe and boot it.

1 Like

Hi, we do not officially support flashing devices using VMs.
You have to work it out on your own, or get a real Ubuntu host PC instead.

I did not find instructions on how to properly setup an NVME using a host PC to boot the Jetson Nano Orin. Could you put a link or direct me towards the proper resources?


I would like to know too.
The steps on how I can set up my Jetson Orin Nano Developer kit against SD card and NVMe using SDKManager.

Hi @allenn_farcas007 and @chihiro,
for flashing with SDK Manager, check this post:

for flashing with scripts provided in BSP, check this post:

Either way, you’d need to know how to correctly put your device into force recovery mode (only required for using NVMe SSD).
You may need to get a jumper like this if necessary:

1 Like

Setting up Jetson Orin Nano Developer Kit to boot from NVMe.
This setup is especially useful, if you PC/Laptop doesn’t have a USB 2.0 or if you dont want to go and buy a new Laptop just to setup your Jetson.

Hi All, I’ve figured it out on how to use SDK Manager from a Oracle Virtual Box (running on Windows 10), and i believe the same would be true for Mac OS (Run virtualbox as sudo to access USB).

The issue: SDK Manager and Jetson Orin Nano Developer Kit doesn’t support USB 3.x (image below). Irrespective if the SDK Manager is run on Linux natively or using a Virtual Machine, this looks like Jetson hardware limitation and applies only when installing the Tegra OS.

Steps to boot from NVMe, and some key considerations.
NVMe consideration - Jetson Orin Nano only supports PCIe 3 NVMe card, so don’t waste your money on a PCIe 4. Which would work but only at PCIe 3 speeds.
Note: I’ve used Samsung 980 NVMe M.2 SSD 550GB from Amazon, and i believe is the right price for max speed you can get on Jetson Nano.

Now to the actual setup:

  1. Assuming you have a Windows or a Mac, with Virtual Box installed. Following that create an Ubuntu 20.04 VM with a Virtual Disk the size of 120GB (This is very important). When setting up USB controller only USB 3.0 (xHCI) controller worked for me and got no detection from USB 2.0 or 1.1. If USB 2.0 controller workes for you and Ubuntu can detect your device, then you should be able to skip steps 4 onwards.

  2. Download and Install NVIDIA SDK Manager from nvidia website.

  3. Ensure you have installed the NVMe M.2 SSD in the right slot :)

  4. Ensure the jumper pin or cable is in the right spot. Note: Prior to creating the first forum post, i’ve used pins 9 and 10 of the GPIO pins (pins behind USB port). However the right pins are on J14, neatly tucked under the Jetson Orin Nano board (i.e. the daughter board). The below popup will showup as soon as you power up the board.

  5. When you connect the board to the Virtual Box, you will need to allow 2 USB filters as per the image below. The first NVIDIA Linux for Tegra [0002] is the default when the board is running Linux, while the second NVIDIA Corp. APX [0401] is used when the board is in Forced recovery mode only. NOTE: you will only be able to add NVIDIA Corp. APX [0401] to the USB filters only when the board is in the Forced recovery mode.

  6. Now, start the board (with the jumper pin or cable in), and make sure the SDK Manager recognizes the board is in recovery mode. This can be validate as the SDK Manager will present option to either choose Jetson Orin Nano Model or the Developer Kit.

  7. Manual Setup, as USB 3.0 is the only option and the Automatic setup doesn’t support USB 3.0. We need to use Manual Setup and as Jetson is booted in Forced recovery model select Manual Setup and continue the installation process.

  8. Complete the installation on the SDK Manager, remove the jumper pin. and you should be good to go. NOTE: make sure no other software on your Windows 10 is interfering with the setup. In my case Symantec endpoint protection was trying to encrypt the files between my VM and the Board.


Note to anyone that finds this thread and is trying to get their system to work; I had the same issues for quite some period but eventually got it to work. What turned out to be important was swapping from one host computer to another with a (recently updated) 20.04 OS; further, it turned out to be important WHICH USB PORT my jetson was plugged in to. The SDK Manager could “detect” the jetson regardless of port, but only the front ports on my workstation were able to complete the flashing without errors.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.