Table of Contents

OpenWrt Sysupgrade

Werfen Sie doch bitte einen Blick auf das Flash Layout. Der OpenWrt-Sysupgrade-Prozess wird den Linux Kernel und den SquashFS Inhalt überschreiben, und außerdem die komplette JFFS2 Partition löschen. Sie können einige oder alle ihrer Konfiguration-Dateien mitnehmen, doch bitte beachten Sie, dass es vorkommen kann, dass alte Konfigurations-Einstellungen nicht mit neueren OpenWrt Versionen arbeiten werden! Anders als bei Debian, werden Sie nicht automatisch darüber in Kentnis gesetzt, Sie müssen sich selber im Vorhinein informieren!

Sie müssen das Image-File in das /tmp-Verzeichnis herunterladen, ein tmpfs-Lauwerk ist auf dieses Verzeichnis gemountet. Das muss so sein, weil nur der Arbeisspeicher genug Platz für ein Firmware-Image bietet. Das bedeutet, dass Sie unter Umständen Arbeitsspeicher freiräumen müssen, wenn nicht genug zur Verfügung stehen sollte.

Via Befehlszeile

  1. vergewissere dich, dass genug Arbeitsspeicher zur Verfügung steht:
    free

    Falls nicht genug übrig sein sollte, →Free up RAM.

  2. befülle /etc/sysupgrade.conf mit Dateien und Verzeichnisen, die erhalten bleiben sollen
  3. besorge dir eine passendes OpenWrt Firmware Image (trunk oder stable):
    cd /tmp
    wget http://downloads.openwrt.org/snapshots/trunk/PLATFORM/xxx-sysupgrade.bin
    wget http://downloads.openwrt.org/snapshots/trunk/PLATFORM/md5sums
  4. überprüfe die Integrität der Image-Datei:
    md5sum -c md5sums

    Wenn es md5sum: WARNING: 195 of 196 computed checksums did NOT match ausspuckt, ist alles in Ordnung

  5. benutze folgenden Befehl um den Vorgang zu starten:
    sysupgrade -v /tmp/openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin
Ein Kalt-Reset scheint notwendig zu sein, das ist im Falle eines sysupgrades aus der Ferne sehr sehr schlecht!

Via Web-Oberfläche

  1. passendes OpenWrt Firmware Image-Datei herunterladen (auf die eigene Festplatte)
  2. auf der Web-Oberfläche auswählen: SystemSystemCustom Files
  3. dann SystemFlash Firmware
  4. die OpenWrt Firmware Image-Datei wird nun in das /tmp-Verzeichnis kopiert
  5. LuCI wird die MD5 Checksumme überprüfen und den Update-Vorgang ansstoßen
  6. warten bis alles wieder online kommt

Alternativen zu OpenWrt Sysupgrade

Einige sind hier zu finden: upgrading.openwrt.

mtd

  1. In dem Fall, dass sysupgrade ihr Gerät (noch) nicht unterstützt, können Sie mtd benutzen, z.B.:
    mtd -r write /tmp/openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin firmware

netcat

Netcat könnte eingesetzt werden, wenn nicht genug Arbeitsspeicher frei gemacht werden kann. Siehe netcat. Netcat needs to be installed first.

Diese Methode wird NICHT empfohlen!
  1. On the router run:
    nc -l -p 1234 | mtd write - firmware
  2. On your Linux PC run:
    nc -q0 192.168.1.1 1234 < openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin

Sie können auch, auch wenn dies nicht empfohlen wird, nectat mit pipes benutzen anstatt das Image auf die RAMFS-Partition zu kopieren:

:!: Diese Vorgehensweise wird nicht empfohlen, könnte aber im Falle von wenig freiem Arbeitsspeicher auf dem Gerät notwendig werden.


Arbeitsspeicher freiräumen

First check memory usage with the free or top or cat /proc/meminfo commands; proceed if you have as much free RAM as the image is in size plus an some additional MiB of free memory.

root@openwrt:/$ free total used free shared buffers Mem: 29540 18124 11416 0 1248 -/+ buffers: 16876 12664 Swap: 0 0 0

In this example there are precisely 11.416 KiB of RAM unused. All the rest 32.768 - 11.416 = 21.352KiB are used somehow and a portion of it can and will be made available by the kernel, if it be needed, the problem is, we do not know how much exactly that is. Make sure enough is available.

Notes