Skip to content
Jason McHuff edited this page Jul 6, 2024 · 15 revisions

7/2023 UPDATE: https://github.com/gnuradio/pybombs has instructions for installing w/GNU Radio version 3.10. In the gnuradio.lwr recipe, comment out uhd, qt5, qwt6, pyqt5, python-pyqtgraph, gtk3. Under config_opt, need to set -DENABLE_GR_QTGUI=OFF -DENABLE_GR_UHD=OFF -DENABLE_GRC=OFF. In addition, before running cmake, some or all of the command is needed: export PATH="$HOME/prefix-3.10/src:$HOME/prefix-3.10/include:$HOME/prefix-3.10/lib:$HOME/prefix-3.10/etc:$PATH"

These are the steps used to do a minimal install of GNURadio and Trunk Recorder without a GUI/Desktop environment, or support for SDRs besides RTLs.

  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 python-apt

  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. pybombs recipes add-defaults

  10. 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

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

  12. sudo pybombs prefix init /usr/local

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

  14. source ./setup_env.sh

  15. pybombs install gnuradio

  16. 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

  17. pybombs install gr-osmosdr

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

    -add "blacklist dvb_usb_rtl28xxu"

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

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

  21. 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)

  22. 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)

  23. cmake ../trunk-recorder

  24. 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)

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

  26. sudo ldconfig

  27. run rtl_test -p to get device serial numbers

  28. 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)