Top 6 Surprises for Me When Installing a Jetson Nano
For use on a Turing Pi, today I prepared a Jetson Nano Development Kit B.01 that I had laying around for some time. The whole procedure took almost 6 hours, and I encountered many surprises along the way.
Please share your "gotchas" here, as this will give a more complete picture.
Requirement of Ubuntu 18.04 LTS: While I anticipated using a recent version of Ubuntu, the Jetson Nano's dependency on Ubuntu 18.04 LTS https://ubuntu.com/18-04 took me by surprise. In an era dominated by frequent updates, reverting to an older OS was an unexpected requirement. The necessity stems from compatibility issues with the
Persistent Live USB: Here's a twist: creating a regular live USB with Ubuntu 18 (image file available at https://releases.ubuntu.com/bionic/ ) won't cut it for the Jetson Nano installation. I learned the hard way that standard live USBs don't provide enough filesystem space to retain the vast amount of data, such as downloadable and interim files, generated during the setup. Hence, the need for a persistent live USB, which ensures that these critical files are storable (and remain accessible across reboots). Seems that anything less than 32 GB is not not enough, although I managed to mount on the fly another additional SSD and pointed
sdkmanagerto that (has 2 configurable paths). However, without the live system having >8GB free on / (that is / as in root of a Linux OS) I could not successfully complete the installation.
NVIDIA Account Dependency: Diving into the installation, it wasn't immediately apparent that an NVIDIA account would be pivotal. Needing an account to access critical software components is one thing, but keeping an email tab open for a confirmation from NVIDIA was another unexpected step in this technical dance.
Multiple Boot Modes: While I've tinkered with several devices in my time, the Jetson Nano's array of boot modes was something special. The recovery mode, in particular, is not just a failsafe. It's instrumental for tasks like flashing and debugging. Fortunately I had this little jumper thingy at hand.
Two-Phase Installation with sdkmanager: Typically, installation processes are fairly linear. However, the Jetson Nano introduced a unique two-step dance. First, there's the sdkmanager setup on the host machine. Following that, it guides you in installing the Jetson Linux OS and JetPack SDK. This duality provided a window into the layered nature of the Jetson platform. And yes,
sdkmanagerchecks if requirements for both host and target are fulfilled.
Multiple Options for First Login: Nearing the culmination of the setup, I was presented with choices for the first login. It wasn't as simple as keying in credentials. Would it be a headless setup, or should I go the traditional route with a monitor and keyboard? Plus, for those revisiting the Nano, there's the possibility of a re-flash. Choices, choices!
What are your gotchas when it comes to the Jetson Nano? If we collect info here this might be turned into pullrequests for the documentation… :)