Gluon Firmware

Aus Freifunk-Rheinbach Wiki
Zur Navigation springen Zur Suche springen

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

Diese Pakete 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.


Debian

Unter einem frischen aufgesetzten Debian 8.5 Jessy musste ich folgende Pakete nachinstallieren, damit ein Image erzeugt werden konnte.

  • git
  • libncurses5-dev
  • zlib1g-dev
  • libglobus-openssl-module-dev
  • subversion

Die Nachinstallation erfolgt mit folgender Anweisung

sudo apt-get --assume=yes install git libncurses5-dev zlib1g-dev libglobus-openssl-module-dev subversion

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