Go to file
Oliver Gerlich f1cf9cfe4b ffhb_11s.conf: increase domain_switch.switch_after_offline_mins to 1 day
We think it is more likely that nodes accidentally are offline for two
hours and then would switch prematurely, than that they have incorrect
system time during switchover and then switch one day too late.
2022-06-06 17:10:15 +02:00
domains ffhb_11s.conf: increase domain_switch.switch_after_offline_mins to 1 day 2022-06-06 17:10:15 +02:00
gluon@250b623fb4 gluon: Update for CVE-2022-24884 2022-05-05 20:10:10 +02:00
i18n add description for domain selection 2020-01-18 13:10:19 +01:00
.gitignore build.sh: Allow an aborted build process to resume 2015-08-30 16:44:44 +02:00
.gitmodules Add gluon repository as submodule 2015-07-02 17:14:37 +02:00
README.md Added package python2.7 as dependency 2018-01-19 20:33:48 +01:00
build.sh build.sh: GLUON_TARGETS without if 2020-08-09 18:35:44 +02:00
modules fix(modules): use https for git protocol 2022-05-22 16:14:35 +02:00
site.conf fix(sites): dns and ntp per site 2022-05-22 15:16:17 +02:00
site.mk site.mk: fix indentation 2022-06-06 15:52:44 +02:00

README.md

Anleitung

Um die Bremer Firmware zu bauen sind folgende Vorbereitungen notwendig:

# Build-Dependencies installieren (Debian/Ubuntu)
sudo apt-get install coreutils schedtool build-essential subversion git libncurses5-dev zlib1g-dev unzip gawk libssl-dev python2.7
# Dieses und das Gluon-Repository clonen
git clone --recursive https://github.com/FreifunkBremen/gluon-site-ffhb.git

Um eine bestimmte Version der Bremer Firmware zu bauen sind folgende Befehle nötig:

# In das Verzeichnis wechseln
cd gluon-site-ffhb/
# Die gewünschte Version auschecken ($tag ist z.B. v2016.2.3+bremen2)
git checkout $tag
# Gluon auf die passende Version bringen
git submodule update
# Build-Prozess anstoßen
./build.sh

Lief der Build-Prozess erfolgreich durch, liegen in gluon/output/images/ die fertigen Images inklusive eines Manifests für den Autoupdater, das schon mit dem eigenen ECDSA-Key signiert wurde falls dieser unter ~/.ecdsakey liegt. In gluon/output/packages/ liegen außerdem per opkg auf dem Knoten nachinstallierbare Kernel-Module.

Will man ohne build.sh manuell make im Verzeichnis gluon aufrufen, wie in der offiziellen Gluon-Doku, muss man jedem Aufruf von make den Parameter GLUON_SITEDIR=$PWD/../ nachstellen (oder wie in build.sh einmal per export GLUON_SITEDIR=$PWD/../ setzen), damit Gluon das site-Repository findet. Alternativ kann man einen Symlink anlegen, indem man während man im site-Repository ist den Befehl ln -s $PWD gluon/site ausführt.

In jedem Fall wird der Gluon-Release-Name automatisch aus dem ausgecheckten Tag generiert - auch falls kein Tag, sondern z.B. der master-Branch ausgecheckt wurde! Falls das nicht gewünscht ist lässt sich durch folgenden Aufruf vor dem entsprechenden Build-Befehl (./build.sh oder make) ein eigener Release-Name festlegen:

export GLUON_RELEASE="2017.1+bremen1+dein-nickname"

Analog lassen sich alle anderen GLUON_*-Variablen überschreiben, außerdem die folgenden build.sh-spezifischen Variablen:

  • GLUON_TARGETS: Welche Architekturen werden von build.sh gebaut
  • KEYFILE: Der Ort des Schlüssels, mit dem das testing/nightly-Manifest automatisch unterschrieben werden soll