4. OpenWRT Firmware erstellen
Nach der Vorarbeit kann nun eine OpenWRT Firmware inkl. PLC-Unterstützung kompiliert werden. Das unter OpenWRT auszuwählende Gerät trägt den Namen "Devolo dLAN pro 1200+ Wifi AC". Lassen Sie sich von dem Namen nicht verunsichern. Obwohl der Name des Pro-Geräts von Devolo benutzt wird, funktioniert diese Firmware ebenfalls für die Non-Pro-Version, da die verwendete Hardware identisch ist.
Zunächst sorgen wir dafür, dass der PLC Feed (Firmware und Tools) ebenfalls mit in die zu erstellende Firmware aufgenommen werden.
user@linux:~/openwrt$ echo -e "CONFIG_TARGET_ath79_generic_DEVICE_devolo_dlan-pro-1200plus-ac=y\n
CONFIG_TARGET_PROFILE="DEVICE_devolo_dlan-pro-1200plus-ac"\n
CONFIG_FEED_dlan=y\n
CONFIG_PACKAGE_dlan-fw-pro-1200plus-ac=y\n
CONFIG_PACKAGE_dlan-plc=y" >> .config
Nun können wir die Firmware mit den folgenden Anweisungen erstellen:
user@linux:~/openwrt$ make download
Nach einer kurzen Weile öffnet sich das Konfigurationsfenster, in welchem bereits das korrekte Zielsystem (Target System) und Zielprofil (Target Profile) ausgewählt sind.
Unter OpenWRT selektieren Konfigurationsprofile für Snapshots nicht automatisch die graphische Oberfläche LuCI ein, daher sollte dies unter dem Menüpunkt LuCI nachgeholt werden. Selbstverständlich können auch weitere Module an dieser Stelle konfiguriert werden.
Im Konfigurationsmenü kann nun die neue Konfiguration über den Menüpunkt "Save" gespeichert werden. Durch mehrmaliges Anwählen des Menüpunkts "Exit" wird die Konfigurationsoberfläche verlassen.
Kompiliert wird die Konfiguration nun mit folgendem Befehl:
user@linux:~/openwrt$ make -j1 V=s
Die Ausführung dieses Befehls kann eine ganze Weile dauern. Dabei sorgt der Parameter V=s dafür, dass viel Information zu den einzelnen Schritten am Bildschirm angezeigt wird. Dies erleichtert die spätere Fehlersuche, sofern der Vorgang fehlschlägt.
Falls später Änderungen an der Konfiguration vorgenommen werden sollten, dann kann über den Befehl "make menuconfig" die Konfigurationsoberfläche erneut aufgerufen werden. Anschließend muss die Kompilation erneut durchgeführt werden. Ein Weg zur Vereinfachung ist die Nutzung des ImageBuilders von OpenWRT, auf welchen aber an dieser Stelle nicht eingegangen wird. Informationen dazu finden sich auf der Webseite von OpenWRT.