OpenWrt Upgrade einfach: Software und Einstellungen behalten

 

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 weniger Storage-Speicher benötigt wird und 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 späteres Installieren benötigt zusätzlichen Speicherplatz (Storage: Disk space). 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 Storage (Disk) 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:

zu wenig Speicher: Troubleshooting

Sollte die Weboberfläche nach einem Upgrade nicht mehr funktionieren, kann das Gerät ev. noch über SSH erreicht werden, z.B über Putty oder das Windows Terminal. (ssh root@IPAddresse). Die GUI kann dann im Terminal mit folgendem Befehl nachinstalliert werden:

opkg update
opkg install luci

Beim Upgrade eines RE650 v2 hatte ich das Problem, dass für die Installation der GUI zu wenig Speicher im Pfad "/overlay" zur Verfügung stand.

Ich konnte das Problem lösen, indem ich das Sysupgradefile per Terminal nach /tmp heruntergeladen habe:

cd /tmp
 wget https://downloads.openwrt.org/releases/2?.??.?/targets/r?/openwrt-??-squashfs-sysupgrade.bin

und mit dem Befehl sysupgrade eingespielt habe:

sysupgrade /tmp/openwrt-??-squashfs-sysupgrade.bin

Die Auswahl der benötigten Pakete könnte zuvor über den Firmwareselector zusammengestellt und daraus ein Image erzeugt werden. Als Beispiel kann für den Einsatz als Access Point das Paket wpad-basic-mbedtls mit wpad ersetzt und zusätzliche Pakete hinzugefügt werden, ohne den Storage-Disk Space unnötig zu befüllen. 

Anstelle von wpad-basic-mbedtls verwende ich für Access Points wpad und das Paket attendedsysupgrade

.... wpad luci-app-attendedsysupgrade

Mittels Firmware Anfordern, wird das Upgrade-Paket zusammengestellt:

Über die Sysupgrade-URL: Rechtsklick auf Sysupgrade und "Adresse des Links kopieren" kann der Downloadlink kopiert werden:

Der Link kann dann am OpenWrt-Gerät für das Upgrade verwendet werden:

cd /tmp
wget https://sysupgrade.openwrt.org/store/bee0677b63d08847ffc43e31de520ca6/openwrt-23.05.3-4b5ca512da89-ramips-mt7621-tplink_re650-v2-squashfs-sysupgrade.bin
sysupgrade https://sysupgrade.openwrt.org/store/bee0677b63d08847ffc43e31de520ca6/openwrt-23.05.3-4b5ca512da89-ramips-mt7621-tplink_re650-v2-squashfs-sysupgrade.bin

Alternativ kann das Sysupgrade-File auch über winscp nach /tmp kopiert werden.

Der TP-Link RE650 v2 besitzt nur 768KiB Disk Space, dennoch konnte ich über das Attendedsysupgrade des komplette wpad-Paket, usteer und luci-attendedsysupgrade hinzufügen. Der benötigte Storage Speicherplatz hierfür sind damit nur 268 KiB, obwohl wpad bei einer Installation über System / Software 695 KiB benötigen würde:

Einmal reparierte, sollten künftige Updates hoffentlich über die Weboberläche und Attended Sysupgrade funktionieren.

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(am besten bewertete 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