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.

    Be sure to make the following selections from the online image builder, Advanced complexity, unstable release. From development packages select "Native (on-target) GNUradio SDK" and from additional console packages chose "Ettus Universal Hardware Driver".

  • If you are running on a device with less than 512M of RAM:
    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 --disable-usrp1 --disable
    -gr-video-sdl CFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -O3" CXXFLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -O3"
    (I put that in a shell script)
  • Run make. Wait a few hours :)
  • Run make check, fix failures.
  • Run benchmark_dotproduct, make code faster.