„README.md“ ändern

- Angepasst auf das neue Freifunk Franken Git
- Fehlerhaftes Packet getauscht gegen aktuelles
- Build Anleitung angepasst
This commit is contained in:
Felix 2020-12-12 10:46:59 +01:00
parent 8fe7512ae5
commit f68266fe64
1 changed files with 22 additions and 3 deletions

View File

@ -8,8 +8,8 @@ Weitere Informationen gibt es auf <https://freifunk.net/> und auf <https://wiki.
# Firmware selbst kompilieren
## Voraussetzungen
* `apt-get install zlib1g-dev lua5.2 build-essential unzip libncurses-dev gawk git subversion realpath libssl-dev` (Sicherlich müssen noch mehr Abhängigkeiten installiert werden, diese Liste wird sich hoffentlich nach und nach füllen. Ein erster Ansatzpunkt sind die Abhängigkeiten von OpenWrt selbst)
* `git clone https://github.com/FreifunkFranken/firmware.git`
* `apt-get install zlib1g-dev lua5.2 build-essential unzip libncurses-dev gawk git subversion manpages-pl libssl-dev` (Sicherlich müssen noch mehr Abhängigkeiten installiert werden, diese Liste wird sich hoffentlich nach und nach füllen. Ein erster Ansatzpunkt sind die Abhängigkeiten von OpenWrt selbst)
* `git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git`
* `cd firmware`
## Erste Schritte
@ -18,6 +18,7 @@ Je nachdem, für welche Hardware die Firmware gebaut werden soll, muss das BSP g
* `./buildscript selectbsp bsp/ath79-generic.bsp`
* Um die vorhandenen BSPs zu sehen, kann `./buildscript selectbsp help` ausgeführt werden.
## Was ist ein BSP?
Ein BSP (Board-Support-Package) beschreibt, was zu tun ist, damit ein Firmware Image für eine spezielle Hardware gebaut werden kann.
Typischerweise besteht ein bsp aus:
@ -26,10 +27,19 @@ Typischerweise besteht ein bsp aus:
Die Daten des BSP werden nie alleine verwendet. Zuerst werden immer die Daten aus dem "default"-BSP zum Ziel kopiert, erst danach werden die Daten des eigentlichen BSPs dazu kopiert. Durch diesen Effekt kann ein BSP die "default" Daten überschreiben.
## Die Verwendung des Buildscripts
Die BSP-Datei wird durch das Buildscript automatisch als dot-Script geladen, somit stehen dort alle Funktionen zur Verfügung.
Das Buildscript generiert ein dynamisches sed-Script. Dies geschieht, damit die Templates mit den richtigen Werten gefüllt werden können.
## Zweiter Schritt
Man wählt aus ob man Node Firmware oder Layer3 Firmware bauen Möglichkeiten
* `./buildscript selectvariant [node/layer3]`
* Um die Verschiedenen Varianten zu sehen, kann `./buildscript selectvariant help` ausgeführt werden.
### `./buildscript prepare`
* Sourcen werden in einen separaten src-Folder geladen, sofern diese nicht schon da sind. Zu den Sourcen zählen folgende Komponenten:
* OpenWrt
@ -50,7 +60,11 @@ Dieses Kommando arbeitet folgendermaßen:
* Config-Format vereinfachen
* Config ins BSP zurück speichern
### `./buildscript updatefeeds`
Updated OpenWrt feed und Prüft auf neuerungen im Git und lädt diese ggf. runter.
### `./buildscript build`
Sollte man am besten immer in einem screen oder ähnliches laufen lassen um einen Abbruch des Builds bei Verbindungsproblemen oder ähnlichem zu verhindern.
* prebuild
* $target/files aufräumen
* (In $target/files liegen Dateien, die später direkt im Ziel-Image landen)
@ -63,12 +77,17 @@ Dieses Kommando arbeitet folgendermaßen:
* postbuild
* board_postbuild() wird aufgerufen
### `./buildscript buildall`
Kann verwendet werden um für alle BSPs Firmware zu bauen, sollte UNBEDINGT in einem screen ausgeführt werden und kann mehrere Stunden dauern.
## Erweiterung eines BSPs
Beispielhaftes Vorgehen um den WR1043V2 zu unterstützen.
### Repository auschecken
```
git clone https://github.com/FreifunkFranken/firmware.git
git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git
cd firmware
```