Build Anleitung angepasst #1

Closed
Felix wants to merge 7 commits from (deleted):master into master
1 changed files with 16 additions and 6 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)
Outdated
Review

Ist manpages-pl tatsächlich zum Bauen den Firmware nötig?

Ist manpages-pl tatsächlich zum Bauen den Firmware nötig?
Outdated
Review

Ja, hat er bei mir als Fehler geworfen gehabt das es "realpath" nichtmehr gibt ist das der ersatz dafür laut Debian apt.

Ja, hat er bei mir als Fehler geworfen gehabt das es "realpath" nichtmehr gibt ist das der ersatz dafür laut Debian apt.

Änderungen der Dependencies gehören meines Erachtens ohnehin in einen separaten Patch. Hat mit den anderen Änderungen nichts zu tun ...

Änderungen der Dependencies gehören meines Erachtens ohnehin in einen separaten Patch. Hat mit den anderen Änderungen nichts zu tun ...
* `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`
Desweiteren wählt man hier 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.
Felix marked this conversation as resolved Outdated
Outdated
Review

Hier ist irgendwas mit den Überschriftenleveln kaputt gegangen. Das gehört doch alles noch zu "Verwendung des Buildscripts", oder? Die Überschrift gehört hier glaube ich einfach gar nicht hin.

Hier ist irgendwas mit den Überschriftenleveln kaputt gegangen. Das gehört doch alles noch zu "Verwendung des Buildscripts", oder? Die Überschrift gehört hier glaube ich einfach gar nicht hin.
Outdated
Review

Jaein ich fand es Persönlich übersichtlicher, aber vermutlich könnte man es weglassen.

Jaein ich fand es Persönlich übersichtlicher, aber vermutlich könnte man es weglassen.
### `./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
Felix marked this conversation as resolved Outdated
Outdated
Review

"den Bau"

Auch hier sehe ich den Gewinn der Überschrift nicht (siehe unten), auf jeden Fall passt der Level aber nicht.

"den Bau" Auch hier sehe ich den Gewinn der Überschrift nicht (siehe unten), auf jeden Fall passt der Level aber nicht.

Wie hast du es denn hier geschafft, einen Tippfehler ("schont") einzuführen, obwohl der Satz gar nicht verändert wurde?

Wie hast du es denn hier geschafft, einen Tippfehler ("schont") einzuführen, obwohl der Satz gar nicht verändert wurde?
@ -50,7 +53,11 @@ Dieses Kommando arbeitet folgendermaßen:
* Config-Format vereinfachen
* Config ins BSP zurück speichern
### `./buildscript updatefeeds`
Aktualisiert die OpenWrt Feeds, die in die Firmware eingebaut werden. Dabei werden alle Pakete, die für bestimmte Feeds angegeben sind, ins OpenWrt Buildsystem eingebunden bzw. aktualisiert. Dieser Schritt wird bereits von `./buildscript prepapre` übernommen, daher ist dies nur bei manuellen Änderungen der Feeds nötig.
### `./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 +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
```
@ -130,4 +140,4 @@ Auf der Mailingliste franken-dev@freifunk.net kannst du natürlich jederzeit Fra
## Hinzufügen von Paketen zum Image
Das Hinzufügen von Paketen sollte mit Bedacht erfolgen, da dies (bei unvorsichtiger Konfiguration) den Betrieb des Routers und eventuell des Freifunk-Netzes beeinträchtigen könnte.
Mit dem Firmware-Verzeichnis als Arbeitsverzeichnis kann mittels des Befehls `./build/<target>/scripts/feeds install <paket>` ein Paket zur menuconfig hinzugefügt werden.
Mittels des schon bekannten `./buildscript config openwrt` kann das Paket dann ausgewählt werden. Es wird beim anschließenden Build zum Image hinzugefügt.
Mittels des schon bekannten `./buildscript config openwrt` kann das Paket dann ausgewählt werden. Es wird beim anschließenden Build zum Image hinzugefügt.