Skip to content
Jason McHuff edited this page Dec 22, 2017 · 15 revisions

These are the steps I used to do a minimal install of GNURadio and Trunk Recorder without a GUI/Desktop environment or support for SDRs besides RTLs. Please edit this if you can improve it or have suggestions.

  1. Install a Minimal version of Ubuntu from here: https://help.ubuntu.com/community/Installation/MinimalCD (I picked Ubuntu 17.04 "Zesty Zapus", it may be better to use a LTS version instead)

  2. When the system gets done booting after installation, press Ctrl+Alt+F2 to get to a text shell as it will leave you in the shell where (I'm guessing) the Desktop goes.

  3. sudo apt-get update

  4. sudo apt install python-pip

  5. cd /usr/local (I had problems using the PyBOMBS prefix feature and putting stuff somewhere else before)

  6. sudo chmod -R o+w /usr/local

  7. sudo -H pip install PyBOMBS

  8. pybombs auto-config

  9. sudo apt install python-apt

  10. pybombs recipes add-defaults

  11. nano ~/.pybombs/recipes/gr-recipes/gnuradio.lwr

    -under depends comment out: uhd, wxpython, pygtk, pycairo, pyqt4, qwt5, pyqwt5, apache-thrift

    -Also removed "-DENABLE_GR_AUDIO=ON -DENABLE_GR_BLOCKS=ON -DENABLE_GR_DIGITAL=ON -DENABLE_GR_FEC=ON -DENABLE_GR_FFT=ON -DENABLE_GR_FILTER=ON -DENABLE_GR_QTGUI=ON -DENABLE_GR_UHD=ON -DENABLE_PYTHON=ON -DENABLE_VOLK=ON -DENABLE_GRC=ON" from config_opt as it wasn't there the last time I did this and I certainly don't want some of that stuff

  12. nano ~/.pybombs/recipes/gr-recipes/gr-osmosdr.lwr -under depends comment out: uhd, hackrf, bladerf, airspy (and soapysdr?)

  13. sudo pybombs prefix init /usr/local

  14. sudo chmod -R o+w /usr/local

  15. source ./setup_env.sh

  16. pybombs install gnuradio

  17. nano /usr/local/src/libosmo-dsp/configure

    -comment out line 12086 "PKG_CHECK_MODULES(FFTW3F, fftw3f >= 3.2.0)", installing pkg-config may solve this issue

  18. pybombs install gr-osmosdr

  19. sudo nano /etc/modprobe.d/blacklist.conf

    -add "blacklist dvb_usb_rtl28xxu"

  20. sudo rmmod rtl2832_sdr videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev dvb_usb_rtl28xxu dvb_usb_v2 dvb_core rtl2832

  21. git clone https://github.com/robotastic/trunk-recorder.git && cd trunk-recorder/

  22. nano CMakeLists.txt

    -comment out/remove UHD and maybe HackRF and OpenSSL references

    -(possibly remove trunk-recorder/uploaders/uploader.cc and trunk-recorder/uploaders/call_uploader.cc)

  23. Download newer version of CMake from https://cmake.org/download/ that's compatible with the newer version of Boost that gets installed (alternatively, could possibly force an older version of Boost to be installed)

  24. cmake ../trunk-recorder

  25. make

    --edit source.h, main.cc and source.cc in trunk-recorder/ to remove references to UHD, USRP and OpenSSL as failure points were reached and re-run (and possibly '#include "uploaders/call_uploader.h' from trunk-recorder/call.h)

  26. cp rtl-sdr.rules /etc/udev/rules.d/

  27. sudo ldconfig

  28. run rtl_test -p to get device serial numbers

  29. set up trunk-recorder/config.json

NOTE: The modifications to Trunk Recorder included in this guide are now viewable at rosecitytransit/trunk-recorder:kcmscanner (diff here)