README.md: Various Updates #5

Closed
Felix wants to merge 4 commits from (deleted):readme into master
1 changed files with 15 additions and 5 deletions

View File

@ -8,13 +8,12 @@ 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
Je nachdem, für welche Hardware die Firmware gebaut werden soll, muss das BSP gewählt werden:
* `./buildscript selectbsp bsp/ath79-generic.bsp`
* Um die vorhandenen BSPs zu sehen, kann `./buildscript selectbsp help` ausgeführt werden.
@ -30,11 +29,15 @@ Die Daten des BSP werden nie alleine verwendet. Zuerst werden immer die Daten au
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.
### `./buildscript selectvariant`
Hier wählt man aus ob man Node Firmware oder Layer3 Firmware bauen möchte:
* `./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
* Sämtliche Packages (ggf. werden Patches angewandt)
* Eine OpenWrt Feed-Config wird mit dem lokalen Source Verzeichnis als Quelle angelegt
* Die Feeds werden geladen
* Spezielle Auswahl an Paketen wird geladen
@ -50,7 +53,11 @@ Dieses Kommando arbeitet folgendermaßen:
* Config-Format vereinfachen
* Config ins BSP zurück speichern
### `./buildscript updatefeeds`
Aktualisiert die OpenWrt Feeds für zusätzliche Pakete, die in die Firmware eingebaut werden. Dabei werden die Referenzen im build/ Verzeichnis aktualisiert. Dieser Schritt wird bereits von `./buildscript prepare` übernommen, daher ist dies nur bei manuellen Änderungen der Feeds nötig.
### `./buildscript build`
Sollte man am besten mit Hilfe des Tools 'screen' oder ähnlichem 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 +70,15 @@ Dieses Kommando arbeitet folgendermaßen:
* postbuild
* board_postbuild() wird aufgerufen
### `./buildscript buildall`
Kann verwendet werden um für alle BSPs Firmware zu bauen. Das kann jedoch 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
```