Building GNU Radio on the BeagleBoard

While building GNU Radio on the Beagle is not the fastest way to build GNU Radio for the Beagle, it is still useful for some tasks. "Make check" and the benchmarking programs just work. Hopefully, rebuild small pieces of GNU Radio is fast enough to allow people to work on the signal processing code etc.

These notes will be under construction/testing for a while.

  • Figure out how to install Angstrom Linux from http://www.angstrom-distribution.org/narcissus/. This is the best way to get started with your Beagle and start working out how to make all the hardware work. You will need to get a network connection going.
  • Once you are familiar with the Beagle, get the GNU radio sdk from philip at opensdr dot com. and replace the root file system you got from Narcissus.
  • Remove the *.la files from /usr/lib. (rm -rf /usr/lib/*la)
  • Add these lines to /etc/sysctl.conf

    vm.overcommit_memory=2
    vm.overcommit_ratio=200

  • Get the GNU Radio source with git clone git://gnuradio.org/gnuradio.git.
  • Run ./bootstrap
  • Run ./configure --disable-usrp2 --with-fusb-tech=libusb1 CFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp" CXXFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp"
    (I put that in a shell script)
  • Run make. Wait a few hours :)
  • Run make check, fix failures.
  • Run benchmark_dotproduct, make code faster.