@@ -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:
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:
RUN echo-en"#!/bin/sh\necho Start this container with "-v /path/to/firmware-repo:/code" to map your repo into it.\n"> /code/build.sh ;chmod +x /code/build.sh