|
@@ -10,25 +10,6 @@ Beim Bauen der Firmware werden weitere Git-Repositories heruntergeladen und benu
|
|
|
|
|
|
## Vorbereitung / Umgebung
|
|
|
|
|
|
-Es gibt zwei Möglichkeiten, die Firmware zu bauen. Entweder in einem [Docker](https://www.docker.com)-Container
|
|
|
-oder "nativ" auf einem Debian/Ubuntu-System. Der Weg über Docker ist der empfohlene Weg für alle, die die Firmware
|
|
|
-nur nachbauen wollen - der Docker-Weg ermöglicht vergleichbare Builds.
|
|
|
-
|
|
|
-Hinweis für MacOS-Nutzer: derzeit scheint die Volume-Mount-Funktionalität defekt zu sein (siehe auch [docker issue #4023](https://github.com/docker/docker/issues/4023)), ~~bis ein Workaround existiert~~ wird die Nutzung von Linux empfohlen.
|
|
|
-
|
|
|
-### Docker-Container
|
|
|
-
|
|
|
-Man benötigt Docker, gawk und git:
|
|
|
-```bash
|
|
|
-sudo apt-get install gawk git
|
|
|
-sudo apt-get install docker.io || wget -qO- https://get.docker.com/ | sh
|
|
|
-docker pull ffpb/build
|
|
|
-```
|
|
|
-
|
|
|
-Das Docker-Repository `ffpb/build` kann auch selbst erstellt werden: `docker build -t ffpb/build docker` (wenn das Git-Repository, in dem diese ReadMe liegt, ausgecheckt wurde)
|
|
|
-
|
|
|
-### Entwickler-System
|
|
|
-
|
|
|
Als Requirements sind die allgemeinen Build-Tools sowie libfaketime nötig. Zum Bauen des gcc in der Toolchain sind noch drei weitere Bibliotheken notwendig:
|
|
|
```bash
|
|
|
sudo apt-get install build-essential git gawk python subversion unzip p7zip-full \
|
|
@@ -85,15 +66,11 @@ git clone https://git.c3pb.de/freifunk-pb/firmware.git
|
|
|
cd firmware
|
|
|
```
|
|
|
|
|
|
-Im Verzeichnis `versions` liegen alle bekannten Firmware-Versionen. Durch Aufruf von `build-version.sh` und Übergabe des Dateinamens (ohne Pfad) wird diese Version erneut gebaut. Es werden zwei Umgebungsvariablen unterstützt:
|
|
|
-* **VERBOSE=1** funktioniert wie beim normalen Build und aktiviert Debug-Ausgaben
|
|
|
-* **NO_DOCKER=1** benutzt `build.sh` statt `docker-build.sh` zum Bau
|
|
|
-
|
|
|
-Die Nutzung von Docker zur Überprüfung von Builds wird dringend empfohlen, da Docker Unterschiede zwischen den Build-Rechnern ausgleicht und die Binaries so einfacher überprüfbar werden.
|
|
|
+Im Verzeichnis `versions` liegen alle bekannten Firmware-Versionen. Durch Aufruf von `build-version.sh` und Übergabe des Dateinamens (ohne Pfad) wird diese Version erneut gebaut. Es wird eine Umgebungsvariablen unterstützt:
|
|
|
+* **BROKEN** falls "1", erzeuge zusätzlich Firmware-Images für ungetestete Plattformen (default: "0")
|
|
|
|
|
|
### Beispiele
|
|
|
|
|
|
```bash
|
|
|
./build_version.sh 0.6.1_stable # baut Version '0.6.1_stable' erneut
|
|
|
-NO_DOCKER=1 ./build_version.sh 0.6.1_stable # ohne Docker-Umgebung erneut bauen
|
|
|
```
|