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 15:00] – goligo | knb:firmware [2022/01/15 23:08] – [OpenWRT] 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 104: | Zeile 104: | ||
</ | </ | ||
- | ===== Build Parameter ===== | + | [[https:// |
+ | |||
+ | ===== Build Parameter | ||
**GLUON_TARGETS** | **GLUON_TARGETS** | ||
Zeile 121: | Zeile 123: | ||
make GLUON_TARGETS=" | make GLUON_TARGETS=" | ||
</ | </ | ||
+ | |||
+ | **GLUON_DEVICES** | ||
+ | |||
+ | Erlaubt es Images nur für einzelne Geräte zu bauen. Den genauen Device-Namen findet man in der entsprechenden targets-Datei, | ||
+ | |||
+ | [[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> | ||
+ | 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:// | ||
Wenn man noch mehr Einfluss auf den Build nehmen will, so kann man den Gluon-Build direkt starten. Zuerst lässt man dafür " | Wenn man noch mehr Einfluss auf den Build nehmen will, so kann man den Gluon-Build direkt starten. Zuerst lässt man dafür " | ||
Zeile 147: | 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:// | ||