GithubHelp home page GithubHelp logo

tx2-flash's Introduction

Intro

Let's directly to the points without emphesizing how usually people get frustrated on flashing JetPack into NVIDIA TX2 without access to an actually Ubuntu machine.

Therefore, this is all about how to flash into TX2 with an VM (VirtualBox) on Mac.

1. Pre-requisites

  • A mac desktop connected with Wi-Fi

  • macOS Sierra 10.12.5 + (Not necessary this version, but this is what I tested)

  • access to internet and power (You can't do this locally)

  • NVIDIA TX2

  • A monitor, HDMI Cable, Ethernet Cable, one Keyboard (USB plugged in), one mouse (preferrable), one USB hub (preferrable)

2. Install Virtual Box and Extensions

1.1 Install Virtual Box

Download Virtual Box from here and install it first;

Then download Virtual Box extension here and install it;

Extension is needed to enable USB-2 connection/communications between any physical USB device and the virtual machine.

1.2 Spin up an Ubuntu VM

Download Ubuntu 16.04 iso image from here.

Then, create an ubuntu machine with following settings:

  • Storage is larger than 50GB

  • Go to Settings --> Network --> Adapter 1, change Attached to to Bridged Adapter, and name to whatever under Wi-Fi

  • Go to Settings --> Ports --> USB, ensure Enable USB Controller is under USB 2.0 (EHCI) Controller (Enabling USB3 seems to often cause problems when flashing from a VM)

Last, load the image that you just downloaded and spin up an VM. Changes to storage in the VM won't affect actual OS storage, so allow the overwriting of data when prompted during install.

1.3 Download NVIDIA JetPack

In the VM, open firefox browser and go to NVIDIA's official website and join them as a member so that you can download the JetPack.

1.4 Install JetPack

Open a terminal and navigate to Downloads folder, then change .run file as executable:

cd
cd ~/Downloads
chmod +x ./JetPack-L4T-3.1-linux-x64.run

Then, run the .run file:

./JetPack-L4T-3.1-linux-x64.run

Choose appropriate install paths when prompted. (Note: on an initial install, I changed the paths from the ones there by default -- into the downloads folder. This worked fine. Made a mistake when first installing that required me to reinstall, but would throw an error if I specified a path other than the ones there by default, unlike before. May have to install to default paths if installer is throwing errors). Selected TX2 when presented with multiple boards. Install everything in the Components Manager when presented. Enter password to allow the installation if prompted. Installation will likely take a long time. When prompted with a window "Depending on the component selection, please pay attention to the prompt in the embedded terminal," select OK

Then just follow all the steps (basically from 2 to 12 without 9 in here): choose TX2, L4T 3.1, full-install, then it will take a while to downloads all the dependencies and then a window will pop up to ask you to confirm the installation.

And when download/installation on host machine is finished, you just click all the way to pop up a terminal says :

Post Installation

And now, here's the tricky part:

  • BEFORE following instructions printed on screen, open settings of your VM, and go to Settings --> Ports --> USB, and click the usb icon that, when hovered over, reads: 'Add new USB filters with all .....', then add 'NVIDIA Corp. APX'

  • Unplug the drive from the TX2, if any (flashed with drive installed, and had issues with the flash. Somehow had Antonio's account despite the flash -- Amon assumes this is because the TX2 has onboard storage, which the OS should be installed to, but it installs to the drive if plugged in.) (REMOVE THESE LINES IF WAS NOT THE ISSUE)

  • Plug in the USB with a USB hub, then connect a mouse, keyboard to TX2

  • Connect via HDMI (HDMI-HDMI, no VGA adapters ok?) between TX2 and monitor so that you can see what's going on

  • Follow the instructions printed to the terminal. Ensure you are using the same micro USB cord that comes with the TX2 (other cords should work fine, but when I ran into trouble, some suggested a similar cable that fits in the micro USB port but doesn't work may the issue (perhaps it only has power and ground lines for charging and no data transfer lines))

  • Last, go back to your VM, do Press Enter on the terminal

Flashing will take around 30 minutes.

1.5 Validation Flash

Go to TX2, open terminal:

# Validate NVCC
nvcc -V

# Validate cuda

ls /usr/local | grep cuda

# Run a sample program. For example:

cd
cd ~/NVIDIA_CUDA-(*your cuda version found by grep cuda*)_Samples/bin/aarch64/linux/release
./oceanFFT

The command prompt window that prints debug information while flashing APPEARED to freeze at step [2021.1104]. Did not appear to be doing anything after a few hours, so closed the command prompt window and selected to finish the flash (did not delete the installed files in case I needed to flash again). The above tests work correctly on the TX2 so I assume it flashed without issue, but this may be the cause of troubles you have down the line, if any.

tx2-flash's People

Contributors

kleinyuan avatar peterhusisian avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.