OpenWrt Upgrade einfach: Software und Einstellungen behalten

 

Gerade Router, die dauerhaft mit dem Internet verbunden sind, sollten regelmäßig mit neuen Softwareversionen versorgt werden. Neben geschlossenen Sicherheitslücken bringen Aktualisierungen neue Funktionen und beheben Fehler. Das Upgrade eines OpenWrt-Routes ist zwar nicht viel Aufwand, kann mit dem "Attended Sysupgrade" aber dennoch wesentlich vereinfacht werden. Ursprünglich habe ich neue OpenWrt-Versionen über ein zuvor heruntergeladenes Sysupgrade-Image aktualisiert. Nachdem das Standard-Image nur bestimmte Softwarepakete beinhaltet, müssen zusätzliche Pakete im Anschluss eines Upgrades erneut aktiviert werden. Eine mögliche Lösung dazu bietet der Firmwareselector, mit dessen Hilfe Softwarepakete in ein angepasstes Image integriert werden können. Angepasste Images nutzt auch des Paket „Attended Sysupgrade“ um das Upgrade mit allen Paketen per Wizard zu installieren. Zunächst sollte aber vor jedem Upgrade ein Backup der Konfiguration erstellt werden um die Einstellungen im Fall der Fälle wiederherstellen zu können.

Vor dem Upgrade: Backup erstellen

Der Upgradeprozess mit einem sysupgrade.bin-File

Geräte die OpenWrt bereits einsetzen können deren Firmware über das Menü „Backup / Flash Firmware“ mit einem Sysupgrade-Image gegen eine neuere Version tauschen. Neue Versionen für die jeweiligen Geräte können dazu von der OpenWrt-Seite heruntergeladen werden: Table of Hardware: Firmware downloads.

Das Problem mit den Firmware Downloads: die aktivierten Pakete gehen verloren

Wer eine neue Version über Images der Seite "Table of Hardware: Firmware downloads" installiert, verliert zusätzlich aktivierte Softwarepakete. Auch wenn die Softwarepakete im Anschluss über das Menü erneut aktiviert werden können, ist diese Vorgehensweise nicht wirklich komfortabel. Um den Upgradeprozess etwas einfacher zu gestalten habe ich mir die Namen aller Pakete notiert und diese über eine Befehlszeile im Terminal nachinstalliert, siehe: OpenWRT - mein Setup. Eine Alternative dazu bietet der Firmwareselector. Beim Einsatz des Firmwareselector kann ein benutzerdefinierter Download mit zusätzlichen Softwarepaketen angefordert werden, wodurch diese nach dem Einspielen des Upgrades wieder zur Verfügung stehen: 

Der Firmwareselector

Über den Firmwareselector können bestimmte Pakete hinzugefügt und als Teil eines angepassten Images zusammen mit der Firmware installiert werden:

Firmwareselector: firmware-selector.openwrt.org

Das Upgrade erfolgt mit einem sysupgrade.bin-File über den Menüpunkt: "Flash new firmware image":

Eine noch einfachere Variante bietet das Paket "Attended Sysupgrade" welches den Buildprozess komfortable über die Weboberfläche initiiert:

Upgrade - Attended Sysupgrade

Das Softwarepaket „luci-app-attendedsysupgrade“ bietet einen Wizard für das Upgraden der Firmware. Attended Sysupgrade kombiniert die Möglichkeiten des Firmwareselector und erstellt auf Basis der installierten Pakete ein Sysupgrade-File zusammen und lädt dieses selbstständig herunter. Der gesamte Prozess kann komfortabel über den Wizard direkt aus der OpenWrt-Gui initiiert werden. Im Hintergrund kümmert sich das Attended Sysupgrade um das Erstellen, den Download und das Einspielen des Upgrades mit allen zuvor installierten Paketen und mit allen Einstellungen. 

Das Paket luci-app-attendedsysupgrade kann einfach im Softwaremenü installiert werden:

Mithilfe des Advanced Mode werden zusätzliche Images angezeigt und zudem können bestimmte Pakete beim Upgrade deaktiviert werden:

Attended Sysupgrade sucht nach neuen Firmwareversionen und kann diese anfordern und installieren, inklusive aller Einstellungen und Softwarepakete.

 

Error building the firmware image

Sollte ein bestimmtes Paket nicht kompatibel mit der neuen Version sein, werden die Details zu dem Fehler ausgegeben:

Server response: Error: Impossible package selection

In meinem Fall hat das Paket bandwithd-sqlite einen Konflikt verursacht:

Collected errors:
 * check_conflicts_for: The following packages conflict with libgd-full:
 * check_conflicts_for: 	libgd * 
 * opkg_install_cmd: Cannot install package bandwidthd-sqlite.
make[2]: *** [Makefile:169: package_install] Error 255
make[1]: *** [Makefile:134: _call_manifest] Error 2
make: *** [Makefile:253: manifest] Error 2

Nachdem ich das Paket entfernt habe, konnte ich die Firmware ohne Probleme aktualisieren.

Wenig Flash-Speicher: Speicherplatz konsolidieren

Wird ein Softwarepaket entfernt, kann OpenWrt dessen Speicherplatz nicht mehr freigeben, ein erneutes Installieren benötigt zusätzlichen Speicherplatz. Damit ein Gerät mit möglichst wenig Speicher auskommt, sollten Softwarepakete direkt im Image ausgewählt werden. Wer an den Paketen etwas geändert hat und im Anschluss über den Firmwareselector oder das Attended Sysupgrade ein neues Image einspielt, konsolidiert die installierten Pakete damit in den Flash-Speicher: Der Router benötigt nach einem Upgrade weniger Speicher.

Upgrade von 22.03.5 auf 23.05.0

Beim Upgrade auf die Version 23.05.0 musste ich das Paket luci-ssl austauschen:

cannot install luci-ssl

Collected errors:
 * check_data_file_clashes: Package libustream-mbedtls20201210 wants to install file /home/aparcar/asu/worker1/cache/23.05.0-rc3/ramips/mt7620/build_dir/target-mipsel_24kc_musl/root-ramips/lib/libustream-ssl.so
	But that file is already provided by package  * libustream-wolfssl20201210
 * opkg_install_cmd: Cannot install package luci-ssl.

Paket: libmbedtls12 und libustream-mbedtls hinzugefügt 

und luci-ssl entfernt:

Fazit

Das Softwarepaket Attended Sysupgrade vereinfacht den Upgradeprozess wesentlich und ist daher ein Must-have für alle Besitzer von OpenWrt-Geräten.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍JosefWalter Schreier
14.01.2024 01:30
Kann ich ihnen eine Liste mit den Geräten schicken die ich habe und eine Auflistung der Probleme mit denen konfrontiert bin. Danke

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details