# Anleitung: Ubiquiti EdgeRouter X (ER-X) auf aktuelles OpenWrt migrieren ## Ausgangslage Der ER-X hat eine sehr kleine, fest reservierte Kernel-Partition (3 MB). Ältere OpenWrt-Versionen (z. B. 22.03.x) passen noch rein, neuere Kernel (6.6+, ab OpenWrt 23.05/24.10) nicht mehr ohne Änderung der Partitionstabelle. Ein normales Sysupgrade/Firmware-Update über die Web-Oberfläche schlägt daher mit folgendem Fehler fehl: ``` upgrade: The device is supported, but this image is incompatible for sysupgrade based on the image version (1.1->2.0). upgrade: Partition table has been changed due to kernel size restrictions. Image check failed. ``` Das ist normal und kein Zeichen eines defekten Geräts – es braucht einen einmaligen Migrationsschritt. ## Voraussetzung - ER-X läuft bereits mit Standard-OpenWrt (nicht mehr originaler Ubiquiti EdgeOS-Firmware) - SSH-Zugriff auf den Router - **Wichtig:** Die Migration setzt das Gerät komplett zurück (alle Einstellungen gehen verloren). Vorher Konfiguration sichern, falls benötigt (Backup über LuCI: System → Backup/Flash Firmware → "Generate archive") ## Ablauf ### 1. Mit dem Router verbinden ``` ssh root@ ``` (Standard-IP bei Werkszustand meist `192.168.1.1`, kann je nach bisheriger Konfiguration abweichen) ### 2. Migrations-Scripts laden Auf dem Router: ``` cd /tmp wget --no-check-certificate https://raw.githubusercontent.com/darkxst/erx-migration/refs/heads/main/ubnt_erx_migrate.sh wget --no-check-certificate https://raw.githubusercontent.com/darkxst/erx-migration/refs/heads/main/ubnt_erx_stage2.sh chmod +x ubnt_erx_migrate.sh ``` Zur Kontrolle prüfen, dass beide Dateien echte Scripts sind (mehrere KB groß, keine HTML-Fehlerseite): ``` ls -la ubnt_erx_migrate.sh ubnt_erx_stage2.sh ``` ### 3. Migration starten ``` ./ubnt_erx_migrate.sh ``` Das Script fragt nach Bestätigung (`y`/`n`) und weist nochmal auf den Datenverlust hin. Nach Bestätigung: - Lädt automatisch das aktuelle OpenWrt-Release (zum Zeitpunkt dieser Anleitung: 24.10.1) für den ER-X - Führt die Neupartitionierung durch - Gerät startet neu – **SSH-Verbindung bricht dabei ab, das ist normal** ### 4. Warten und neu verbinden Nach dem Neustart (ca. 2–3 Minuten) hat der Router in der Regel wieder die Standard-IP `192.168.1.1` (auch wenn vorher eine andere IP konfiguriert war). ``` ping 192.168.1.1 ``` Sobald erreichbar: ``` ssh root@192.168.1.1 ``` **Hinweis:** Der SSH-Host-Key hat sich geändert (neue Installation), daher erscheint eine Sicherheitswarnung. Das ist normal, kein Angriff. Alten Eintrag entfernen: ``` ssh-keygen -f '~/.ssh/known_hosts' -R '192.168.1.1' ``` Danach erneut verbinden. ### 5. Fertig – Grundabsicherung Nach erfolgreichem Login zeigt sich die neue Version, z. B.: ``` OpenWrt 24.10.1, r28597-0425664679 ``` Root-Passwort setzen (Pflicht, da initial keins gesetzt ist): ``` passwd ``` Kontrolle, dass das neue Partitionslayout aktiv ist: ``` grep compat_version /etc/config/system ``` (sollte `2.0` zeigen) ## Ergebnis Der Router läuft jetzt auf aktuellem OpenWrt mit modernem Kernel und neuer Partitionstabelle. Zukünftige Sysupgrades auf neuere OpenWrt-Versionen funktionieren ab hier wieder normal über die Web-Oberfläche oder `sysupgrade`, ohne erneute Migration. ## Quelle Migrations-Scripts von [darkxst/erx-migration](https://github.com/darkxst/erx-migration), siehe auch [OpenWrt-Forum-Thread "Resizing kernel images for Edgerouter X"](https://forum.openwrt.org/t/resizing-kernel-images-for-edgerouter-x/194968). ## Erfahrung aus unserem Test Migration wurde am 26.09.2026 an einem Ersatz-ER-X erfolgreich getestet (von OpenWrt 22.03.5 auf 24.10.1). Ablauf lief ohne Komplikationen durch, Downloads und Neustart wie beschrieben.