Freifunk Lippe Firmware

Aus wiki.freifunk.net
Zur Navigation springenZur Suche springen

Diese Seite bietet Hilfestellung, um die Firmware für Freifunk-Lippe zu kompilieren.

Achtung: Diese Anleitung ist noch nicht vollständig. Das heißt ihr fehlen noch wichtige Informationen, um die Firmware für Freifunk Lippe kompilieren zu können. Wenn du möchtest, hilf mit diesen Artikel zu verbessern und trage zur Weiterentwicklung bei.

Voraussetzungen

Bevor die Firmware für Freifunk Lippe kompiliert werden kann, müssen folgende Voraussetzungen erfüllt sein. Es müssen die genannten Pakete auf dem verwendeten System installiert sein und die Build-Umgebung eingerichtet werden. Unsere Build-Umgebung dient der Automatisierung der eigentlichen Firmware-Erstellung. Alle Schritte müssen als normaler User unter teilweiser Zuhilfenahme von 'sudo' vorgenommen werden. Die Verwendung von 'sudo' ist nur nötig falls höhere Rechte benötigt werden.

Diese Anleitung wurde getestet mit:

  • Debian 8.2 (Jessie) 64 Bit
  • Ubuntu Server 14.04 (Trusty Tahr) 64 Bit
  • Ubuntu Desktop 16.04 (Xenial Xerus) 64 Bit
  • Linux Mint 20 64 Bit
  • Ubuntu Server 20.04 (Focal Fossa) 64 Bit

Benötigte Pakete

Um die Firmware kompilieren zu können, müssen folgende Pakete auf dem System vorhanden sein:

  • git
  • subversion
  • python (Python 3 doesn’t work)
  • build-essential
  • gawk
  • unzip
  • libncurses-dev (actually libncurses5-dev)
  • libz-dev (actually zlib1g-dev)
  • libssl-dev
  • pkg-config (wird für ECDSA-Utils benötigt)
  • cmake (wird für ECDSA-Utils benötigt)

Quelle: http://gluon.readthedocs.org/en/latest/user/getting_started.html

Hiermit werden alle installiert:

 sudo apt-get install git subversion python build-essential gawk unzip libncurses-dev libz-dev libssl-dev pkg-config cmake make doxygen

ECDSA-Utils

Wenn man die Gluon-Images für automatische Updates signieren möchte, muss man zuerst eine Manifest-Datei erzeugen, in der die Signaturen enthalten sein werden. Wichtig hierzu ist, dass auf dem System die ECDSA-Utils vorhanden sind. So werden diese installiert:

 cd
 git clone http://git.universe-factory.net/libuecc
 cd libuecc
 cmake ./
 make
 sudo make install
 sudo ldconfig
 cd
 git clone https://github.com/freifunkowl/ecdsautils
 cd ecdsautils
 mkdir build
 cd build/
 cmake ../
 make
 sudo make install 

Build-Umgebung einrichten

Wir haben ein Bash-Script erstellt, um die Erstellung der Freifunk-Lippe-Firmware zu automatisieren. Die Build-Umgebung wird eingerichtet, indem der folgende Befehl ausgeführt wird:

 cd
 git clone https://github.com/FreifunkLippe/site-ffl.git fflip-fw
 cd fflip-fw
 chmod +x do.sh

Mit folgendem Befehl wird der private Schlüssel generiert, welcher von unserem Build-Script zum Signieren der Systemupgrade-Images genutzt wird.

 ecdsautil generate-key > secret

Firmware erzeugen

Ist die Build-Umgebung eingerichtet wird die Erstellung der Firmware mit dem folgenden Befehl gestartet.

 bash ./build_fflip_fw.sh

Die fertigen Firmware-Images befinden sich anschließend im Verzeichnis:

 gluon/images/SITENAME


Quellen:

  1. libuecc kompiliert und installiert
  2. ECDSA-Utils kompiliert und installiert