Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
knb:firmware [2021/05/01 17:01] – [Build Parameter] goligo | knb:firmware [2022/01/15 23:10] – [Gluon] goligo | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
Dependencies installieren: | Dependencies installieren: | ||
<code bash> | <code bash> | ||
- | sudo apt install git make python2 libncurses5-dev libncursesw5-dev gcc g++ gawk | + | sudo apt install git make python2 libncurses5-dev libncursesw5-dev gcc g++ gawk qemu-utils |
</ | </ | ||
Zeile 48: | Zeile 48: | ||
OpenWRT stellt alternative Router-Firmware für eine große Zahl von Endkunden-Routern (z.B. von D-Link, Netgear, TP-Link, AVM, Unifi) basierend auf Linux zur Verfügung. Dabei ist der Funktionsumfang von OpenWRT in der Regel größer als der der Originalfirmware und es gibt Updates für Modelle, die beim Hersteller schon aus der Wartung sind. | OpenWRT stellt alternative Router-Firmware für eine große Zahl von Endkunden-Routern (z.B. von D-Link, Netgear, TP-Link, AVM, Unifi) basierend auf Linux zur Verfügung. Dabei ist der Funktionsumfang von OpenWRT in der Regel größer als der der Originalfirmware und es gibt Updates für Modelle, die beim Hersteller schon aus der Wartung sind. | ||
- | [[https:// | + | [[https:// |
Da es sich um eine Linux-Distribution handelt ist eine große Menge Software-Pakete verfügbar, der auf der Geräten installiert werden kann. Es gibt einen Paketmanager namens " | Da es sich um eine Linux-Distribution handelt ist eine große Menge Software-Pakete verfügbar, der auf der Geräten installiert werden kann. Es gibt einen Paketmanager namens " | ||
Zeile 63: | Zeile 63: | ||
Gluon wird von vielen Freifunk-Communities genutzt. Es bietet genug Funktionalität in der Grundausstattung, | Gluon wird von vielen Freifunk-Communities genutzt. Es bietet genug Funktionalität in der Grundausstattung, | ||
- | [[https:// | + | [[https:// |
Der Gluon-Build funktioniert so, dass zunächst die Git-Repositories von OpenWRT und der zusätzlichen Gluon-spezifischen Pakete geladen werden. Dann werden Patches auf diese Projekte angewendet, um Fehler zu beheben, die im Upstream noch nicht gefixed sind, oder zusätzliche Features zu implementieren, | Der Gluon-Build funktioniert so, dass zunächst die Git-Repositories von OpenWRT und der zusätzlichen Gluon-spezifischen Pakete geladen werden. Dann werden Patches auf diese Projekte angewendet, um Fehler zu beheben, die im Upstream noch nicht gefixed sind, oder zusätzliche Features zu implementieren, | ||
Zeile 124: | Zeile 124: | ||
</ | </ | ||
- | Gluon bietet eine Menge Umgebungsvariablen an, mit denen man den Build weiter konfigurieren kann. Eine davon ist zum Beispiel | + | **GLUON_DEVICES** |
+ | |||
+ | Erlaubt | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Im unten stehenden Beispiel baut man nur das Image für den TP-Link WR841 v13, es können auch mehrere Devices und mehrere Targets angegeben werden. | ||
<code bash> | <code bash> | ||
- | GLUON_DEVICES=" | + | make GLUON_TARGETS=" |
</ | </ | ||
+ | |||
+ | **WEITERE** | ||
+ | |||
+ | Gluon bietet eine Menge Umgebungsvariablen an, mit denen man den Build weiter konfigurieren kann, die vollständige Liste findet sich in der Gluon-Dokumentation: | ||
[[https:// | [[https:// | ||
Zeile 157: | Zeile 167: | ||
</ | </ | ||
+ | ===== Neue Geräte ===== | ||
+ | |||
+ | Die Motivation selber ein Firmware-Image zu bauen liegt oft darin, dass man ein Gerät hat, für das FFMUC keine Firmware anbietet. Da gibt es unterschiedliche Schwierigkeitsgrade, | ||
+ | |||
+ | === Kein OpenWRT Support === | ||
+ | |||
+ | Als erstes ist zu prüfen, ob OpenWRT das Gerät schon unterstützt. Sollte dies nicht der Fall sein, sieht es schlecht aus. Ein neues Gerät in OpenWRT zu supporten ist aufwendig und verlangt tiefgehendes Wissen über den verwendeten SoC, den Boot-Prozess, | ||
+ | |||
+ | === Kein Gluon Support === | ||
+ | |||
+ | Wenn OpenWRT-Support vorhanden ist, aber kein Gluon-Support, | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | === Kein FFMUC Support === | ||
+ | |||
+ | Das sollte eigentlich gar nicht passieren - die Liste der FFMUC-Geräte ist generiert aus Gluon, mittels contrib/ | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||