Pybombs erleichtert das Leben!

Beim Aufsezten meiner Umgebung für das HackRF habe ich zuerst Linux Mint ausprobiert, bin jedoch davon abkommen und jetzt bei Ubuntu 14.04 gelandet.

Ubuntu 14.04 läuft nun auf meinem Thinkpad X230 in einer Dual Boot Umgebung. Die nötigen Tools zum Betrieb des HackRF habe ich mittel Pybombs installiert. Pyboms enthält Rezepte, d.h. Skripte, welche das Kompilieren der Programme um einiges erleichtert. Über Repositories erhält man oft veraltete oder nicht gepflegte Versionen und es kommt häufig zu Fehlern oder bei späterem Bedarf muss man einzelne Komponenten mühsam ersetzen. Pybombs macht das alles “in einem Schritt” und achtet dabei sogar auf die verschiedenen Abhängigkeiten. Pybombs kann nahezu auf jedem System mit allen “Flavours” eingesetzt werden. D.h. ob .deb oder andere Endungen – völlig egal.

Wie geht das ganze?

Mit einem frisch installierten Ubuntu 14.04 bitte erst alle Pakete erneuern und upgraden. Es ist ratsam für jedes Kommando ein sudo zu setzen (just to be sure….)

1. Git installieren

sudo apt-install git

2. ins ~Verzeichnius wechseln und Pybombs aus Github herunterladen (Account und Passwort von Github benötigt – wird abgefragt)

cd ~
git clone git://github.com/pybombs/pybombs

3. ins Pybombsverzeichnis wechseln und Pybombs Konfigurieren

cd pybombs
./pybombs config
  • gituser: Euer Github Username, Passwort wird auch verlangt
  • prefix: wo alles installiert wird, braucht Schreibrechte, am besten auf /usr/local setzen
  • install order: deb, rpm, src
  • forcepkgs: wenn man einige Pakete nicht installieren oder updaten möchte angeben
  • timeout: Zeit zwischen erneutem Verbindungsaufbau in Sekunden (ich habe 2 Sek gewählt
  • bei anderen Fragen wie CMAKE_BUILD_TYPE oder C / C++ Compilern drückt ihr einfach “OK”  (mit Enter überspringen) , dies verwendet die Standardeinstellungen und ist in Ordnung so.

4. GNU Radio installieren (das ganze dauert wirklich lange – locker über einer Stunde – nicht verzweifeln)

sudo ./pybombs install gnuradio

5. FFTW installieren (dauert wenige Minuten)

sudo ./pybombs install fftw

6. RTL-SDR installieren (dauert wieder etwas länger)

sudo ./pybombs install rtl-sdr

7. GrOsmoSDR installieren (auch etwas länger)

sudo ./pybombs install gr-osmosdr

8. wollt ihr weitere Pakete installieren oder zwischendurch einen Kaffee trinken gehen könnt ihr auch mehrere Argumente hinter das install Kommando anhängen, getrennt mit Leerzeichen. Schaut dazu in die Liste am Ende, welche Pakete ihr noch alles mittels Pybombs installieren könnt. Allerdings ist zu sagen, dass wenn es bei der Installation Fehler gibt, es besser wäre die Pakete einzeln nacheinander zu installieren.

9. UNBEDINGT die LIB LINKS updatenNIEMALS VERGESSEN – kann einiges an Kopfzerbrechen ersparen!

sudo ldconfig

 10. Anwendung starten: z.B. GNU Radio mit HackRF – bitte noch beachten, dass es Probleme geben könnte mit Adminrechten am USB. Bitte hier weiterlesen.

sudo gnuradio-companion

Weiteres:

wie versprochen eine Liste an Paketen, welche man auch mittels Pybombs installieren kann:

sudo ./pybombs list

Verfügbare Baseline/ dependency packages:

apr, aprutil, armadillo, atk, autoconf, automake, bison, blas, boost, cairo, cheetah, cmake, cppunit, curl, db48, expat, faac, faad, ffi, fftw, flex, fontconfig, freetype, gcc, gdk-pixbuf, gflags, gfortran, git, glib, glog, gmp, gobject-introspection, gperftools, graphviz, gsl, gtest, gtk2, ice, lapack, libav, libbzip, libitpp, libjpeg, liblog4cpp, libpcap, libpng, libtiff, libtool, libusb, libxml, libxslt, log4cxx, lxml, make, mcpp, mpc, mpfr, numpy, pango, perl, pixman, pulseaudio, pycairo, pygtk, pyqt4, pyqwt5, python, python-zmq, qt4, qwt5, scipy, setuptools, sip, ssl, subversion, swig, tornado, wget, wxpython, x11, zeromq

Verfügbare/ installierbare packages:

airprobe, airspy, fecapi, glfw3, gnss-sdr, gnuradio, gqrx, gr-air-modes, gr-ais, gr-as, gr-baz, gr-benchmark, gr-bluetooth, gr-compat, gr-drm, gr-eventstream, gr-extras, gr-fcdproplus, gr-fosphor, gr-ham, gr-ieee-80211, gr-ieee-802154, gr-iqbal, gr-ldpc, gr-lte, gr-mediatools, gr-multimon, gr-op25, gr-osmosdr, gr-packetradio, gr-pocsag, gr-rds, gr-smartnet, gr-specest, gr-zmqblocks, hackrf, kal, libosmo-dsp, openlte, osmo-sdr, pmc, pocsag-mrt, pysstv, rtl-sdr, simple_radio_astronomy, theron, uhd, wireshark

Bei einzelnen Paketen kann es vorkommen, dass beim Installieren Fehler auftreten.

Womöglicherweise müsst ihr dann die Installationsrezepte (Textdateien) anpassen.

Ein Beispiel:

sudo ./pybombs install gqrx

gibt Fehler aus:

sr/bin/ld: cannot find -lboost_system-mt
 /usr/bin/ld: cannot find -lboost_program_options-mt
 collect2: error: ld returned 1 exit status
 make: *** [gqrx] Error 1
 ERROR:root:PyBOMBS Make step failed for package (gqrx) please see bash output above for a reason (hint: look for the word Error)

Unter Ubuntu 14.04 benutzen die Libraries nicht die -mt Extension. Deshalb muss die gqrx.lwr Datei angepasst werden. Navigiert dazu zu eurem Pybombs Ordner (z.B. wie obig verwendet Pfad) und öffnet mit einem Editor (Nano-Editor) mit Adminrechten die Textdatei und löscht in der “qmake Linie” aus “BOOST_SUFFIX=-mt” nur das “-mt” nach dem Istgleichzeichen heraus und speichert die Datei wieder (Entweder über Dateimanager öffnen und abspeichern) oder über den Nano oder Vi Editor mittels STRG + O und Beenden STRG + B.

cd ~/pybombs
sudo nano gqrx.lwr

Danach solltet ihr diese Kommandos ausführen was die alte Installation löscht und sie nochmals startet:

sudo ./pybombs clean gqrx 
sudo ./pybombs install gqrx