|
@@ -1,30 +1,35 @@
|
|
|
# Firmware von Freifunk Hochstift
|
|
|
|
|
|
-Dieses Repository beherbergt die Skripte, um die Firmware von Freifunk Hochstift zu bauen.
|
|
|
-Die Inhalte dieses Repositories werden unter einer "2-clause BSD" Lizenz veröffentlicht, Details sind der Datei [LICENSE](https://git.c3pb.de/freifunk-pb/firmware/blob/master/LICENSE) zu entnehmen.
|
|
|
+Dieses Repository beherbergt die Skripte, um die Firmware von Freifunk
|
|
|
+Hochstift zu bauen. Die Inhalte dieses Repositories werden unter einer
|
|
|
+"2-clause BSD" Lizenz veröffentlicht. Details sind der Datei
|
|
|
+[LICENSE](./LICENSE) zu entnehmen.
|
|
|
|
|
|
-Beim Bauen der Firmware werden weitere Git-Repositories heruntergeladen und benutzt:
|
|
|
+Beim Bauen der Firmware werden weitere Git-Repositories heruntergeladen und
|
|
|
+benutzt:
|
|
|
|
|
|
-* Basis: [Gluon](https://github.com/freifunk-gluon/gluon)
|
|
|
-* Site-Repository: [FFHO](https://git.c3pb.de/freifunk-pb/site-ffho)
|
|
|
+* Basis: [Gluon (Fork)](https://git.ffho.net/freifunkhochstift/gluon)
|
|
|
+* Site-Repository: [FFHO-Site](https://git.ffho.net/freifunkhochstift/ffho-site)
|
|
|
|
|
|
## Vorbereitung / Umgebung
|
|
|
|
|
|
-Für das Build-System werden die gennerell für Gluon notwendigen Pakete, sowie lua5.1 benötigt.
|
|
|
+Für das Build-System werden die gennerell für [Gluon](https://gluon.readthedocs.io)
|
|
|
+notwendigen Pakete, sowie lua5.1 benötigt.
|
|
|
```bash
|
|
|
-sudo apt-get install git subversion python build-essential gawk unzip libncurses-dev \
|
|
|
- libz-dev libssl-dev lua5.1
|
|
|
+sudo apt-get install git subversion python build-essential gawk unzip \
|
|
|
+ libncurses-dev libz-dev libssl-dev lua5.1
|
|
|
```
|
|
|
|
|
|
## Bauen
|
|
|
|
|
|
-Klone das Repository in dem diese ReadMe liegt, falls noch nicht geschehen und wechsle in das Verzeichnis:
|
|
|
+Klone das Repository in dem diese ReadMe liegt (falls noch nicht geschehen) und
|
|
|
+wechsle in das Verzeichnis:
|
|
|
```bash
|
|
|
-git clone https://git.c3pb.de/freifunk-pb/firmware.git
|
|
|
-cd firmware
|
|
|
+git clone https://git.ffho.net/freifunkhochstift/ffho-firmware-build.git build
|
|
|
+cd build
|
|
|
```
|
|
|
|
|
|
-Rufe `build.sh` bzw. `docker-build.sh` auf und übergebe folgende Umgebungsvariablen:
|
|
|
+Rufe `build.sh` auf und übergebe folgende Umgebungsvariablen:
|
|
|
|
|
|
* **BASE** gibt die Gluon-Version an, die als Basis benutzt werden soll (z.B. 'v2014.4')
|
|
|
* **BRANCH** ist der Name des Firmware-Branches (also 'stable', 'testing' oder 'experimental')
|
|
@@ -34,7 +39,7 @@ optional:
|
|
|
* **AUTOUPDATER** setzt den Autoupdater auf einen anderen Branch als bei **BRANCH** angegeben ('stable', 'testing', 'experimental' oder 'off', default: **BRANCH**)
|
|
|
* **BROKEN** falls "1", erzeuge zusätzlich Firmware-Images für ungetestete Plattformen (default: "0")
|
|
|
* **BUILD_TS** setzt den Zeitstempel für den Build-Prozess (format: %Y-%m-%d %H:%M:%S)
|
|
|
-* **CLEAN** falls "dirclean", wird `make dirclean` ausgeführt, falls "clean" wird `make clean` ausgeführt, ansonsten keins von beidem (BRANCH=stable/testing default: "clean", BRANCH=experimental default: "none")
|
|
|
+* **CLEAN** falls "dirclean", wird `make dirclean` ausgeführt, falls "clean" wird `make clean` ausgeführt, ansonsten keins von beidem (default: "none")
|
|
|
* **DEVICES** baut nur die Images für die angegebenen Devices und nicht für das gesamte Target
|
|
|
* **KEY_DIR** gibt das Verzeichnis für gluon-opkg-key an (default: ./opkg-keys)
|
|
|
* **MAKEJOBS** spezifiziert die Anzahl der parallel laufenden Compiler-Prozesse (default: ein Prozess pro CPU/Kern)
|
|
@@ -53,26 +58,34 @@ optional:
|
|
|
# Baut eine testing-Firmware auf Basis von Gluon 2014.4
|
|
|
BASE=v2014.4 BRANCH=testing VERSION=0.6~rc1 ./build.sh
|
|
|
|
|
|
-# Baut eine experimental-Firmware auf Basis des aktuellen Gluon-Master (nur für Experten)
|
|
|
+# Baut eine experimental-Firmware auf Basis des aktuellen Gluon-Master
|
|
|
BASE=master BRANCH=experimental ./build.sh
|
|
|
```
|
|
|
|
|
|
-Nach erfolgreichem Build-Vorgang liegt die Firmware fertig paketiert im `output/` Verzeichnis und in `versions/` wurde (außer bei BRANCH=experimental) eine Versions-Informationsdatei abgelegt. Mit dieser (nur der Name) kann `build-version.sh` die gegebene Version erneut bauen.
|
|
|
+Nach erfolgreichem Build-Vorgang liegt die Firmware fertig paketiert im
|
|
|
+`src/output/` Verzeichnis und in `versions/` wurde eine
|
|
|
+Versions-Informationsdatei abgelegt. Unter Angabe dieser Datei kann mit
|
|
|
+`build-version.sh` die Version erneut gebaut werden.
|
|
|
+(siehe auch: Kontroll-Build einer Firmware)
|
|
|
|
|
|
|
|
|
## Kontroll-Build einer Firmware
|
|
|
|
|
|
-Klone das Repository in dem diese ReadMe liegt, falls noch nicht geschehen und wechsle in das Verzeichnis:
|
|
|
+Klone das Repository in dem diese ReadMe liegt, falls noch nicht geschehen und
|
|
|
+wechsle in das Verzeichnis:
|
|
|
```bash
|
|
|
-git clone https://git.c3pb.de/freifunk-pb/firmware.git
|
|
|
+git clone https://git.ffho.net/freifunkhochstift/ffho-firmware-build.git
|
|
|
cd firmware
|
|
|
```
|
|
|
|
|
|
-Durch Aufruf von `build-version.sh` und Übergabe des Versions-Datei kann eine Firmware erneut gebaut werden. Es werden folgende Umgebungsvariablen optional unterstützt:
|
|
|
+Durch Aufruf von `build-version.sh` und Übergabe des Versions-Datei kann eine
|
|
|
+Firmware erneut gebaut werden. Es werden folgende Umgebungsvariablen optional
|
|
|
+unterstützt:
|
|
|
* **BROKEN** falls "1", erzeuge zusätzlich Firmware-Images für ungetestete Plattformen (default: "0")
|
|
|
|
|
|
-### Beispiele
|
|
|
+### Beispiel für Firmware 1.0.6
|
|
|
|
|
|
```bash
|
|
|
-./build_version.sh ./versions/0.7.4 # baut Version '0.7.4' erneut
|
|
|
+wget -O versions/1.0.6 https://firmware.hochstift.freifunk.net/1.0.6/build-info.txt
|
|
|
+./build_version.sh ./versions/1.0.6
|
|
|
```
|