Gluon Firmware
Dieser Artikel beschreibt kurz wie die Freifunk Firmware mit Gluon für Rheinbach unter OpenSuSe erstellt wird.
OpenSuse
Zusätzlich zu den normalerweise auf einem Rechner mit OpenSuSE vorhandenen Anwendungen werden noch folgende Anwendungen benötig.
- ncurses
- patch
Dieser Anwendungen lassen sich wie folgt nach installieren:
zypper in ncurses patch
Sollten weitere Anwendungen fehlen, bitte eine Hinweis an router@freifunk-rheinbach.de. Sollte die Erstellung der Firmware abbrechen, dann können die fehlenden Anwendungen der Datei /tmp/mkffimage.log entnommen werden. Je nach OpenSuSE Installation braucht es mehrere Anläufe, bis die alle benötigten Anwendungen identifiziert und installiert sind. Der Fehler kann auch nach einigen Stunden, kurz vor Ende der Erstellung auftreten.
Speicherplatz
Mit Gluon v2016.1 habe ich teilweise über 20 GByte freien Speicher auf der Partition benötigt.
Script
Mit dem folgenden Shell-Script kann die Firmware für Rheinbach auf der Basis Gluon 2016.1 erstellt werden.
#!/bin/sh # Thomas Arend # 09.02.2016 GLUONDIR=$HOME/gluon GLUONVER=v2016.1.x SITEVER=v2016.1 if [ ! -d "$GLUONDIR" ] then ### Verzeichnis existiert noch nicht ### mkdir "$GLUONDIR" fi if [ ! -d "$GLUONDIR/$GLUONVER" ] then ### Verzeichnis existiert noch nicht ### pushd "$GLUONDIR" git clone -b $GLUONVER https://github.com/freifunk-gluon/gluon.git $GLUONVER popd else ### Verzeichnis vorhanden, auffrischen ### pushd "$GLUONDIR/$GLUONVER" git pull https://github.com/freifunk-gluon/gluon.git make dirclean popd fi ### Wir brauchen noch die Site Infos ### pushd "$GLUONDIR/$GLUONVER" if [ ! -d site ] then git clone -b $SITEVER https://github.com/Byggvir/ff-rhb.git site else pushd site git pull https://github.com/Byggvir/ff-rhb.git $SITEVER popd fi ### Alles bereit um die Firmware zu ersetellen ### make update make V=s clean GLUON_TARGET=ar71xx-generic make V=s GLUON_TARGET=ar71xx-generic >/tmp/mkffimage.log 2>&1 ## Die folgenden Targets betreffen nur 7 Router. ## Bei Bedarf Kommentare entfernen #make clean GLUON_TARGET=ar71xx-nand #make GLUON_TARGET=ar71xx-nand #make clean GLUON_TARGET=mpc85xx-generic #make GLUON_TARGET=mpc85xx-generic #make clean GLUON_TARGET=x86-generic #make GLUON_TARGET=x86-generic #make clean GLUON_TARGET=x86-kvm_guest #make GLUON_TARGET=x86-kvm_guest popd