Es gibt bereits diverse Kurzanleitungen zum Kompilieren von Gluon. Für totale Einsteiger ist es aber evtl. hilfreich, hier eine kurze Schritt-für-Schritt-Anleitung speziell für Freifunk-Münsterland zu bekommen.
Hinweis vorab: Ihr benötigt (aktuell) mind. 15 GB freien Speicherplatz. Ich nutze Debian und Ubuntu, für andere Distributionen müssen die Befehle ggf. leicht angepasst werden.
Zunächst müssen die benötigten Programme installiert werden:
sudo apt-get install git make python gcc g++ unzip libncurses5-dev zlib1g-dev subversion gawk bzip2 libssl-dev
Dann geht’s weiter mit
git clone https://github.com/freifunk-gluon/gluon.git; cd gluon
Danach wählt ihr den gewünschten Branch per git checkout <branch>
, also z. B. git checkout v2016.1.x
aus. Die verfügbaren Branches könnt ihr euch mittels git branch -a
anzeigen lassen.
Nun holen wir uns die passenden Einstellungen für unsere Domäne: git clone https://github.com/FreiFunkMuenster/site-ffms.git site
. Dann wechseln wir ins site-Verzeichnis mit cd site
und wählen dann mittels git checkout <Domäne>
, z. B. git checkout Domäne-46
die passende Domäne aus. Die verfügbaren Domänen können wir uns mittels git branch -a
anzeigen lassen. Mit cd..
geht’s zurück ins Hauptverzeichnis von Gluon.
Bevor der Buildprozess starten kann, muss noch ein make update
ausgeführt werden. Danach starten wir den Kompilierungsvorgang: make -j<Threadanzahl> V=s GLUON_TARGET=ar71xx-generic GLUON_RELEASE=<Buildnummer>
. Bei einem Quadcore mit 8 Threads sieht das dann z. B. so aus: make -j8 V=s GLUON_TARGET=ar71xx-generic GLUON_RELEASE=v2016.1.5
V=s
sorgt dafür, dass mehr Textoutput in der Konsole landet, was das Beheben von Fehlern erleichtert. Nachteil: Durch den vielen Textoutput wird das Kompilieren verlangsamt, also weglassen, wenn man’s nicht braucht. Welche Versionierung ihr verwendet bleibt euch überlassen, GLUON_RELEASE könnt ihr dementsprechend anpassen. Man kann natürlich auch für andere Targets Images bauen, indem man GLUON_TARGET entsprechend wählt oder gleich ganz weglässt, dann wird für alle Targets gebaut.
Das Kompilieren kann je nach CPU-Power eine ganze Weile dauern. Die fertigen Images liegen dann im Verzeichnis output
.
Hinweise, Ergänzungen und Verbesserungen sind natürlich erwünscht!