Fall Cleaning Repositories, 2021

We’re starting fall cleaning here at JetsonHacks! That means updating some of our code repositories and articles. With the release of JetPack 4.6, there’s a lot of work and heavy lifting we need to do!

One of the longer term goals is to have a more common code/script base across all of the Jetsons. At this point, all of the 64-bit Jetsons are running Ubuntu 18.04. Previously some of the Jetsons were split across 16.04 and 18.04. Consequently, we will be archiving some repositories and pointing to the new, unified code.

Updating Repositories

Over the last few months, several repositories have had issues unrelated to the Jetson. We’re fixing those first. As usual, each of the repositories have release notes in them.

Install ROS

The installROS repositories on JetsonHacks, JetsonHacksNano, and RACECAR/J have all been updated. The major issue is that the GPG key had expired over at ROS, and needed fixing in the scripts. We took this chance to calculate the ROS_IP environment variable more intelligently when setting up the ROS core server.

Install Arduino IDE

The installArduinoIDE repository on JetsonHacksNano now installs Arduino IDE 1.8.15. This seems like a natural fit for other members of the Jetson lineup, so we brought it over to JetsonHacks too.

Install the RealSense SDK

One of the changes over the last year or so is the ability to load the Intel RealSense SDK from a .deb in a repository. RealSense SDK is another name for librealsense.

Loading from the repository is way cool, it cuts installation from many hours to just a few minutes. In both the JetsonHacks installRealSenseSDK repository and the JetsonHacksNano installLibrealsense, we change to the new key server URL for the RealSense repository. While these repositories have different names, they both contain the same scripts.

We took this chance to rewrite the buildLibrealsense.sh script. buildLibrealsense.sh builds librealsense from source. First, there are more command line switches. The clever bit is that the script now determines the latest librealsense release, and builds that version. Previously this was a fixed variable in the script.

The new -v | --version flag provides an override to build a particular version. This is useful in case you need a specific version, as is the case when matching up against the RealSense ROS wrapper.

Another switch is the new -j | --jobs that allows control of the number of concurrent build processes. If you have less than 4GB of memory, this defaults to 1, otherwise it is the number of cores-1. You can control this more easily in case you have extra swap memory and want to have more (or less) concurrent build threads.


That’s the “low hanging fruit” as it where. Hopefully some of your favorites have better flavor!

Be the first to comment

Leave a Reply

Your email address will not be published.