45. Setting up Jetson TX2 with Mac using VirtualBox

SETTING UP
When setting up your Jetson TX2, you need a host (Ubuntu recommended) besides the target( Your Jetson) to install Jetpack SDK and flash the necessary components to the target.
So, if you are using an OS that is NOT a Ubuntu host, you’ll need to set up a virtual Ubuntu environment. When I was doing this, I got stuck because the host couldn’t connect with the target when adding the SDK components. I finally found the reason why, so I’d like to share it here. (FYI, I tried with windows with the exact same procedures but it didn’t work)

1. SETTING UP VIRTUAL BOX
After installing VirtualBox (You also have to install the extension pack as well), Make the changes shown in the images below

1. Memory size: 4GB
2. Storage size: 100GB(The size of Jetpack SDK with deepstream was about 87GB)
3. CPU: 4 

For Storage Devices, click the CD button and set the UBUNTU18.04 iso file (You can download the iso file(desktop image) here, https://releases.ubuntu.com/18.04/ )
Ubuntu 20 DOES NOT WORK! 

Before setting the file

After  Setting the file

Before the next step, you’ll need to..

A) Install the extension pack for VirtualBox
    ->you’ll be able to Select USB3.0
B) Turn your Jetson TX2 to recovery mode.

If you click the USB logo with the + sign, you’ll be able to find a port called ‘NVIDIA Corps.APX’, so click that as well.

2. SETTING UBUNTU in VIRTUALBOX
Not much special here..
Click ‘install Ubuntu’ set each according to the images

STEP 1

STEP 3

STEP 5

STEP 2

STEP 4

STEP 6

3. FLASH AND ADD COMPONENTS TO TARGET
This step is done in the HOST machine.

STEP 1 Download JETPACK
SDK managers differs depending on your JETSON

STEP2
Go to the path where you’ve downloaded the file and install.

STEP 3 Open sdk manager
If your jetson is in recovery mode AND you’ve done adding the usb port to the virtualbox settings like above, the SDK manager will recognize the jetson type that is connected.

STEP 4
If you are planning to use DeepStream, check that as well

STEP 5
Check the agreement box and continue

STEP 6
Change Automatic setup to Manual Set up. 

STEP 7
Flash

STEP 8 THIS IS WHERE I GOT STUCK
After the flashing process finishes, your jetson will automatically start up(You should have your jetson connected to a monitor), so finish off the default settings for your jetson and it will return to the desktop. Then go back to the settings for virtual BOX.

STEP 9
When the flashing process finishes, your jetson changes its mode from recovery mode to usb-device mode. When shifting to this mode, it uses a different USB port called ‘NVIDIA LINUX for tegra’ to connect to the host. Add that to the settings as well.
This is the reason why I couldn’t add the SDK component.

STEP 10
After adding.
Now, the Ubuntu inside the VM can recognize the new port.
Unfortunately, You’ll have to turn the jetson back to recovery mode and go back to STEP 3 and do the same thing AGAIN..

STEP 11
When you come back to this page, type in the username and password you’ve setted for the jetson’s ubuntu default settings

STEP 12
FINALLY…