You land on this page because your PC is running on any other OS than the required Ubuntu version to flash Jetpack on Jetson. And you would like to have quick access to another OS just to do the flashing process, this guide will show you just that. Here the “host” means your main OS system, and “guest” is the VM OS
- Virtualox extension pack support current version of Virtualbox
- ISO image of Ubuntu (16.04)
- Nvidia Jetson TX2 Dev Kit
- In this tutorial, I’m using Ubuntu 18.04 host and Ubuntu 16.04 VM
Step 1: Install Virtualbox and its extension pack
- Install Virtualbox
- Add the Virtualbox extension pack after Virtualbox is up and running
Step 2: Add vboxusers into usergroup
- On your host machine’s terminal, run:
sudo usermod -a -G vboxusers $USER
- Log out or restart the host machine for this to take into affect
Step 3: Create a Ubuntu VM
- There are many tutorials on Youtube, for example this one
Step 5: Recover Mode and USB filter
- VM is not set to recognize host usb device automatically. So you need to add the device into VM’s USB setting in order to let the guest recognizes the device as well.
- First you need to make Jetson goes into Recovery mode with: unplug power, plug in power, get yourself ready on 3 buttons “Power” “Recovery Mode” “Reset”
- First, press “Power” button then release and quickly press “Recovery” button. Without releasing “Recovery” button yet, press on “Reset” button & release. Wait for 2 seconds and finally release “Recovery” button.
- Use the micro USB-B cable coming with the dev kit to connect the Dev Kit to the PC.
- On host PC’s terminal, write
lsusb. Nvidia Corp. should show up in the list if Jetson is in the recovery mode successfully.
- This step now is to pass the USB device from host to the VM, specifically Jetson:
Power-off/Shut-down the VM > Settings > USB > Check USB3.0 Controller > Click on the USB icon with the green plus sign > Choose the Nvidia Corp. device
- Power up the VM again and go to VM’s terminal > Type
lsusb> Nvidia Corp. should show up in the list
Step 6: Install Jetpack on Ubuntu VM (I won’t go through this)
Step 7: Flash OS on Target
If everything goes well, you will finish flashing the OS image on the Jetson using VM. However, you will not be able to install extra packages such as CUDA & tools because Jetpack could not find IP of the target (Jetson). So if the terminal mention that it is trying to determine IP of target, just hit “enter” a couple time to get out of the terminal & installation but do not delete your downloaded file.
Step 8: Power up your Jetson with newly flashed OS image
Unplug power, and plug back in and press Power button.
Step 9: Find Jetson’s ip address
Connect Jetson’s ethernet to the same router with the host machine. Find Jetson’s ip address with ifconfig ip on terminal after connect to ethernet. Note down this ip address.
Step 10: Continue with the rest of installation
Start Jetpack installation again in the VM, but this time choose No Action for the Flash OS Image item. You don’t want to flash image again but just install the extra packages on target that was not installed last time. Then proceed with next steps. Enter username & password for Jetson which are both nvidia by default.
Step 11: Enter Jetson’s ip address & finish up
The terminal may prompt to ask for ip address of target, then you can enter the ip that you note down in step 9 then enter. If everything is success, this is the last step and the rest is just installation.