bringing up jetson xavier nx developer kit

Jetson Xavier NX with JetPack 4.4 DP building emacs 28 with all six ARM cores

The Jetson Xavier NX Developer kit arrived today. I have installed JetPack 4.4 Developer Preview, just like I did with my Jetson Nano. I also moved my Crucial 500GiB SSD over and plugged it into the NX. JP 4.4 was flashed onto a SanDisk 128GB SDXC Extreme Plus V30 XC1 U3 A2 (yeah, I know). After initial poweron and setup, the card has 117GiB total storage, with 13GiB of it used so far.

First things I installed were pip, curl, htop, and jtop.

With the SSD installed I moved over to the emacs build area and prepared to build and install emacs, just like I’d done on my Nano. For that I installed the following libraries (again):

  • texinfo
  • libxaw7-dev
  • libjpeg-dev
  • libpng-dev
  • libgif-dev
  • libtiff-dev
  • gnutls-dev
  • libncurses-dev
  • libfreetype6-dev
  • libcairo-dev
  • libgif-dev

The last entry, libgif-dev, was missing in my original post about building emacs. I’d picked it up when I built python 3.8.3 first. This time I built emacs first, just to test my original build directions, and found the hole in my installation. Of note is what apt printed to the console when installing three of the libraries:

Note, selecting 'libgnutls28-dev' instead of 'gnutls-dev'
Note, selecting 'libncurses5-dev' instead of 'libncurses-dev'
Note, selecting 'libcairo2-dev' instead of 'libcairo-dev'

Everything built and linked successfully in spite of the “substitutions.” No, I did not see this the last time.

I checked the emacs clone with git status, and found nothing in source had changed. I then performed a make clean, followed by a configure, then a ‘make -j 6’ so I could run make against all six cores of the NX. That’s why jtop’s CPU monitor shows all six cores fully utilized. Once finished, make install, and then a quick test. Before this I’d moved over all my emacs configuration files.

emacs 28 running on the Jetson Xavier NX Developer Kit

Not much more to say at this point. I have yet to decide if I’ll build python 3.8.3 like I did on the Nano. I do want to get completely off of Python 2, but I need to better understand the tooling in JetPack before I go off and break stuff.

I will have more to say later about the overall hardware of the NX. Suffice to say it’s a hex core Cortex A75 equivalent, which is, core for core, twice the performance over the Nano’s Cortex A57 cores. It has 8GiB of memory, which makes development much sweeter than on the Nano. And this Developer Kit comes with WiFi and Bluetooth built-in, which makes it much easier to integrate with network and other wireless tools. But as I said, more to come.

building liteide x37.1 on jetpack 4.4 developer preview

I managed to build LiteIDE X37.1 from the GitHub sources by following the projects clear, simple directions. They were:

$ git clone https://github.com/visualfc/liteide.git
$ cd liteide/build
$ ./update_pkg.sh
$ ./build_linux_qt4.sh

## Run it. While within the build folder from above: ##
$ cd liteide/bin
$ ./liteide

They are part of the website’s installation directions. The website is here: http://liteide.org/

The directions were written for Ubuntu 16.04, but they work just as well for Ubuntu 18.04. It should be noted that Qt5 doesn’t need to be installed. Just start with the git clone of the source and go from there. I’m running it out of where it was built. I haven’t run the installation and for my uses I don’t intend to.

For the record I have the latest version of Go, 1.14.3 for linux-arm64 (ARMv8).

This isn’t the first time I’ve built this tool. I built an earlier version under Raspbian Buster on the Raspberry Pi 4. It built and worked fine there, too.

As for usefulness, it is quite useful, at least for my purposes. In the example above it found all my files under the default GOPATH (go env GOPATH) and I was able to quickly navigate to my work and open one of my files I developed on the Raspberry Pi. It’s my hope to build and attempt to run the software and Adafruit hardware I used on the Raspberry Pi.

Right now I’m in the process of fulfilling a promise I made to my wife to clean out a good portion of our house and begin to do some home improvements. I’ve accrued a lot of “homeowner dept” that I need to pay down quite a bit. I’m retired and back to living in the regular world. These little reports will be short and sweet, and perhaps infrequent. But I won’t mind. I do all of this because I enjoy it, when I feel like it. Not because I have to. And that’s alright.