OLA on Beaglebone

This describes how to get OLA working on a Beaglebone from scratch. At the time of writing, an “image” does not exist for the Beaglebone. This process is based on using the Debian OS. There certainly are other ways of building this, but this is a method that works for me.

Preparing your Debian-based Beaglebone

Get Robert C Nelson’s Netinstall scripts:
https://github.com/RobertCNelson/netinstall

cd /netinstall ./mk_mmc.sh --uboot bone --mmc /dev/sdX

( sdX ) is the card

This will build the boot loader onto the card. This is also based on Debian Squeeze.

Once its done, put the card in your beagle, and start up. You’ll need to connect the Beaglebone via USB, and talk to it via Screen. Follow the instructions for the Debian install. Select SSH server and System Utilities for your build. It can take a while to finish a build, depending on how fast your internet connection is.

 

Install dependencies

You need a couple of libraries installed for everything to work correctly. Some of these are available as packages in distros but others need to be downloaded and built manually.

First you’ll need at least the following:

If you’re building from git you’ll also need the following:

  • libtool
  • automake
  • autoconf

 

sudo apt-get install libcppunit-dev libcppunit-1.12-1 uuid-dev pkg-config libncurses5-dev libtool autoconf automake  g++ libmicrohttpd-dev libmicrohttpd5 protobuf-compiler libprotobuf-lite6 python-protobuf libprotobuf-dev libprotoc-dev zlib1g-dev bison flex make libftdi-dev  libftdi1 libusb-1.0-0-dev liblo-dev git

Note, these dependencies are slightly different from the Debian build

Install OLA

Check out the git repo with the following command:

 cd /usr/local/src   ( not entirely necessary, but you will be able to find it later )
 git clone https://github.com/OpenLightingProject/ola.git ola
 cd ola

Run autoreconf

If this is the first time run with -i to install the missing files

autoreconf -i

Do the usual build steps

You can pass additional options to ./configure . Run

 ./configure --help

to see all options. The most popular option is --enable-python-libs to build the Python Client Module. If you want to use the RDM responder tests add --enable-rdm-tests.

Once you’ve decided on the options, it’s time to build OLA. If you have a multi-core machine, you can speed up the build by using make -j N. A good value of N is the number of cores on your machine. On a MacBook Pro (4 core) using -j 4 reduced the build time from 5 minutes to 2.5 minutes.

./configure --enable-rdm-tests
make
make check
sudo make install

Finally run ldconfig so you can use the new libraries.

sudo ldconfig