Downgrade der Synology-Firmware: Unterschied zwischen den Versionen

Aus
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 34: Zeile 34:
  builddate="2012/08/29"
  builddate="2012/08/29"


Der Ordner /usr/local bleibt beim Formwareupdate (getestet Version 4.0, 4.1) unangetastet
Der Ordner /usr/local bleibt beim Firmwareupdate (getestet Version 4.0, 4.1) unangetastet
siehe Forum: http://www.synology-forum.de/showthread.html?32614-HowTo-Airprint-mit-aktuellen-Gutenprint-Treibern&p=272671&viewfull=1#post272671
siehe Forum: http://www.synology-forum.de/showthread.html?32614-HowTo-Airprint-mit-aktuellen-Gutenprint-Treibern&p=272671&viewfull=1#post272671
In diesem Ordner sind nur die im Laufe der Zeit von synology.com nachgeladenen Druckertreiber enthalten (ghostscript, gutenprint etc.) Man kann direkt vor einem Firmewareupdate den Ordner umbennnen.
> mv /usr/local /usr/local.bak
Dann wird local.bak während des Updates gelöscht und /usr/local neu aufgebaut (Werkseinstellung)

Version vom 26. September 2012, 08:48 Uhr

!!Achtung!! Wegen grundlegender Systemänderungen ist ein Downgrade von Firmwareversionen >1000 (DSM 2.3) auf Firmwareversionen <1000 (DSM 2.2) für Multibay-Stations leider nicht möglich.

Der Linux-Kernel und die Versionsinformationen liegen im Flash-Speicher. Deswegen ist ein Downgrade nur mit kleinen Tricks möglich. Daher soll hier exemplarisch beschrieben werden wie vorzugehen ist:

Ausgangssituation: Neu ausgelieferte DS 209 mit Firmwareversion 0965, gewünscht wird aber die Firmwareversion 0850.

  • Die aktuelle Firmware darf nicht einfach gelöscht werden. Wenn das bereits erfolgt ist, einfach die aktuelle Version zunächst nochmal neu installieren.
  • Auf der DS müssen Telnet/SSH und Filestation aktiviert sein
  • Firmwaredateien können zum Teil über den Downloadserver von Synology bezogen werden.
  • Aus der gewünschten Firmwaredatei (hier synology_88f6281_209_0850.pat) muss man nun die Datei "VERSION" extrahieren. Bei der synology_88f6281_209_0850.pat handelt es sich um ein TAR-Archiv. Es kann z.B. mit 7-zip entpackt werden.
  • Die extrahierte Datei "VERSION" nun in einem Texteditor öffnen und den Eintrag "buildnumber="0850" in eine niedrigere Buildnummer abändern, als man vor hat zu installieren. Grund: Bei der späteren Installation der alten Firmware über das Webinterface bricht diese sonst mit der Meldung "Es ist schon eine aktuelle Firmwareversion installiert" ab. Beispiel (Downgrade von v0965 in v0850): Den Eintrag "buildnumber="0850" abändern in z. B. "buildnumber="085". Anschließend diese Änderung unbedingt abspeichern!
  • Modifizierte "VERSION"-Datei aus dem Patch nun per Filestation auf die DS kopieren (z.B. ins Verzeichnis "public").
  • Über die Kommandozeile (via Telnet) nach /etc.defaults verschieben:
mv /volume1/public/VERSION /etc.defaults
  • Jetzt kann man die alte Firmware über das Webinterface installieren.
  • Da ein Downgrade auf diese Weise von Synology nicht vorgesehen ist, kommt dabei allerdings einiges durcheinander. Daher muss jetzt nochmals die Systempartition gelöscht werden. Dazu den Reset-Knopf für etwa 4 Sek. gedrückt halten und nach dem Piepton direkt nochmals für etwa 4 Sek. drücken bis zum Piepton.
  • Jetzt lässt sich die alte Firmware über die Assistenten-Software sauber neu installieren.



Variante: gleiche DSM Firmware-Version noch einmal installieren

bei Version DSM 4.1 ist die Datei /etc.defaults/VERSION bereits enthalten es reicht in dieser Datei mit dem vi die buildnumber zu verkleinern

> vi /etc.defaults/VERSION 
majorversion="4"
minorversion="1"
buildphase="0"
buildnumber="2635"
builddate="2012/08/29"

Der Ordner /usr/local bleibt beim Firmwareupdate (getestet Version 4.0, 4.1) unangetastet siehe Forum: http://www.synology-forum.de/showthread.html?32614-HowTo-Airprint-mit-aktuellen-Gutenprint-Treibern&p=272671&viewfull=1#post272671 In diesem Ordner sind nur die im Laufe der Zeit von synology.com nachgeladenen Druckertreiber enthalten (ghostscript, gutenprint etc.) Man kann direkt vor einem Firmewareupdate den Ordner umbennnen.

> mv /usr/local /usr/local.bak

Dann wird local.bak während des Updates gelöscht und /usr/local neu aufgebaut (Werkseinstellung)