Downgrade DS111 (sollte theoretisch mit allen ARM-basierten Stations funktionieren)

Status
Für weitere Antworten geschlossen.

thorsten97

Benutzer
Mitglied seit
16. Nov 2016
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Nach langem Suchen habe ich einen Weg gefunden meine DS111 von der Beta 6.1 auf die stable 6.0 zu downgraden :).

Achtung!! Bei dieser downgrade-Methode flasht Ihr euren Kernel und die initrd neu, falls dabei etwas schiefgeht, kann es sein, daß eure Synology nicht mehr booted und wenn überhaupt nur mit massivem Aufwand wieder in einen funktionierenden Zustand gebracht werden kann!!!

Das ganze ist ohne Gewähr - Ihr macht das auf eigene Gefahr! Bei mir hat es ohne Datenverlust funktioniert, trotzdem würde ich jedem empfehlen ein ordentliches Backup anzulegen!

Wie funktioniert das Ganze:
Die Prozedur basiert darauf, daß ihr den Kernel und die initrd einer älteren stabilen DSM Version auf das entsprechenden Blockdevice flasht. Wenn ihr dann das System nach nach einem Reset neu aufsetzt, erkennt der Synology Assistent die von euch geflashte initrd bzw. deren Version und lässt euch eine DSM-Version >= der initrd-Version installieren.

Durchführung:
Als Erstes müsst Ihr euch die precompiled MTD_Utils für ARM besorgen:
http://wiki.beyondlogic.org/index.php?title=Cross_Compiling_MTD_Utils_for_ARM
http://wiki.beyondlogic.org/prebuilt/mtdutils-1.4.9-arm-none-linux-gnueabi.tar.bz2

Ausserdem braucht Ihr eine ältere DSM-Version, sowie die aktuell stabile Version für euer System. Aus der älteren pat-Datei extrahiert Ihr rd.bin und zImage. (Ich habe es erfolgreich mit DSM_DS111_7393.pat getestet)

Kopiert mtdutils-1.4.9-arm-none-linux-gnueabi.tar.bz2 auf eure Diskstation and extrahiert sie dort in ein Verzeichnis eurer Wahl.
Zusätzlich kopiert Ihr euch von einer älteren stable den Kernel (zImage) und die intird (rd.bin) in den gleichen Ordner.

Danach via ssh und als root:

Rich (BBCode):
cd /Verzeichnis eurer Wahl/mtdutils-1.4.9-arm-none-linux-gnueabi/sbin

Wir checken noch kurz welches Blockdevice für Kernel und initrd verwendet wird:

Rich (BBCode):
cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00080000 00010000 "RedBoot"
mtd1: 00200000 00010000 "zImage"
mtd2: 00140000 00010000 "rd.gz"
mtd3: 00010000 00010000 "vendor"
mtd4: 00020000 00010000 "RedBoot Config"
mtd5: 00010000 00010000 "FIS directory"
mtd6: 00400000 00010000 "spi_flash"

In meinem Fall brauchen wir mtd1 für den Kernel und mtd2 für die initrd:

Jetzt Flashen wir den Kernel:
Rich (BBCode):
./flashcp -v /Verzeichnis eurer Wahl/zImage /dev/mtd1
und jetzt die initrd:
Rich (BBCode):
./flashcp -v /Verzeichnis eurer Wahl/rd.bin /dev/mtd2

zum Abschluss noch einen Reset durchführen (1x den Reset drücken bis es piepst, kurz loslassen und nochmal so lange bis es piepst). Eure DS startet neu und Ihr könnt nun mittels Synology Assistent die aktuelle Stable installieren.

Viel Erfolg!

Thorsten
 
Zuletzt bearbeitet:

carlson_hb

Benutzer
Mitglied seit
05. Sep 2015
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Code:

cd /Verzeichnis eurer Wahl/mtdutils-1.4.9-arm-none-linux-gnueabi/sbin


Moin Danke für diese Anleitung, aber fehlt da im Code nicht eine Datei oder so? Das führt ja nur in einen ordner.
Ich komme da nicht weiter: Putty sagt was von no such Directory oder file


Edit: Denkfehler: Sorry
 
Zuletzt bearbeitet:

carlson_hb

Benutzer
Mitglied seit
05. Sep 2015
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hat wunderbar geklappt. Danke!!
 

whitbread

Benutzer
Mitglied seit
24. Jan 2012
Beiträge
1.294
Punkte für Reaktionen
54
Punkte
68
Danke für die Anleitung - aber mal ganz ehrlich: Es kann ja wohl nicht sein, dass man solche Eingriffe ins System machen muss für eine downgrade - zumal für eine Beta-Version, die ja nunmal für Tests vorgesehen ist!
 

thorsten97

Benutzer
Mitglied seit
16. Nov 2016
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Da stimme ich dir voll und ganz zu!

Ich verstehe auch auch nicht was das soll! Meiner Meinung nach eine sehr fragwürdige Kundenpolitik und die Nachteile die eine einfache Möglichkeit zum Downgraden (zumindest von Beta auf Stable) bieten würde sehe ich nicht ...

Anyways: ich bin froh meine Kiste jetzt wieder vernünftig benutzt zu können.
 

joeximan

Benutzer
Mitglied seit
13. Jul 2011
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Hallo thorsten97, ich bekomme immer die Fehlermeldung:
-ash: ./flashcp: cannot execute binary file: Exec format error
Was mache ich falsch?


(Versuch meine DS213+ auf Release umszustellen)
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
13.998
Punkte für Reaktionen
264
Punkte
373
Hallo,
die DS213+ hat einen PowerPC Prozessor, dafür benötigst Du andere MTD_Utils.

Gruß Götz
 

joeximan

Benutzer
Mitglied seit
13. Jul 2011
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Danke, und welche
 

thorsten97

Benutzer
Mitglied seit
16. Nov 2016
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Ich habe auf die schnelle keine vorkompilierte version gefunden...
Hier findest du ggf. Hilfe falls du dir das ganze selbst kompilieren möchtest. Wenn ich die nächsten Tage etwas zeit habe, versuche ich es vielleicht auch mal mit dem Kompilieren.

VG
Thorsten
 

joeximan

Benutzer
Mitglied seit
13. Jul 2011
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Hallo Thorsten,
frohes neues Jahr wünsche ich Dir und allen hier im Forum.
Wo hier?
Danke
 

Mr_Mo

Benutzer
Mitglied seit
05. Mrz 2017
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Hallo Thorsten,

vielen Dank für Deine Anleitung.
Ich will auch zwingend weg von der 6.1 15047. Ich habe seit dieser Version permanent 99% CPU Auslastung. Selbst wenn ich alle Pakete stoppe :(

Leider klappt das mit dem Downgrade aber nicht.
Ich bekomme beim Flashen des Kernel folgende Fehlermeldung:

ash-4.3# ./flashcp -v /volume1/Upload/DSM/MTDUtils_1.5.0/zImage /dev/mtd1
ash: ./flashcp: Permission denied
ash-4.3#

Woran kann das liegen?

Viele Grüße
Marc
 

JackTequila

Benutzer
Mitglied seit
16. Nov 2014
Beiträge
8
Punkte für Reaktionen
0
Punkte
1
Danke für die Anleitung! Hat bei einer DS1515 perfekt funktioniert.
 

Thomas_W

Benutzer
Mitglied seit
14. Nov 2018
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hallo und guten Abend,
vielen Dank für diese Anleitung.
Ich machte letzte Woche den fatalen Fehler DSM6.2 auf einer DS211j zu installieren. Seitdem ist das System nicht mehr benutzbar bei 99% Prozessorstress :-(
Zwei Fragen habe ich:
- Das entpackte "mtdutils-1.4.9-arm-none-linux-gnueabi"kann in ein Verzeichnis auf "volume1/ also meiner "Anwenderplatte? Oder muss das woanders hin?
- obwohl mit sudo su angemeldet erhalte ich bei Ausführen von " ./flashcp -v /volume1/upload/zImage /dev/mtd1" die Meldung:
"ash: ./flashcp: No such file or directory". Findet das System "flashcp" nicht? Wohin muss ich navigieren?

Ich würde mich über eine Info freuen und bedanke mich herzlich.

VG Thomas
 

darkeyes7777

Benutzer
Mitglied seit
01. Mai 2019
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Nach langem Suchen habe ich einen Weg gefunden meine DS111 von der Beta 6.1 auf die stable 6.0 zu downgraden :).

Achtung!! Bei dieser downgrade-Methode flasht Ihr euren Kernel und die initrd neu, falls dabei etwas schiefgeht, kann es sein, daß eure Synology nicht mehr booted und wenn überhaupt nur mit massivem Aufwand wieder in einen funktionierenden Zustand gebracht werden kann!!!

Das ganze ist ohne Gewähr - Ihr macht das auf eigene Gefahr! Bei mir hat es ohne Datenverlust funktioniert, trotzdem würde ich jedem empfehlen ein ordentliches Backup anzulegen!

Wie funktioniert das Ganze:
Die Prozedur basiert darauf, daß ihr den Kernel und die initrd einer älteren stabilen DSM Version auf das entsprechenden Blockdevice flasht. Wenn ihr dann das System nach nach einem Reset neu aufsetzt, erkennt der Synology Assistent die von euch geflashte initrd bzw. deren Version und lässt euch eine DSM-Version >= der initrd-Version installieren.

Durchführung:
Als Erstes müsst Ihr euch die precompiled MTD_Utils für ARM besorgen:
http://wiki.beyondlogic.org/index.php?title=Cross_Compiling_MTD_Utils_for_ARM
http://wiki.beyondlogic.org/prebuilt/mtdutils-1.4.9-arm-none-linux-gnueabi.tar.bz2

Ausserdem braucht Ihr eine ältere DSM-Version, sowie die aktuell stabile Version für euer System. Aus der älteren pat-Datei extrahiert Ihr rd.bin und zImage. (Ich habe es erfolgreich mit DSM_DS111_7393.pat getestet)

Kopiert mtdutils-1.4.9-arm-none-linux-gnueabi.tar.bz2 auf eure Diskstation and extrahiert sie dort in ein Verzeichnis eurer Wahl.
Zusätzlich kopiert Ihr euch von einer älteren stable den Kernel (zImage) und die intird (rd.bin) in den gleichen Ordner.

Danach via ssh und als root:

Rich (BBCode):
cd /Verzeichnis eurer Wahl/mtdutils-1.4.9-arm-none-linux-gnueabi/sbin

Wir checken noch kurz welches Blockdevice für Kernel und initrd verwendet wird:

Rich (BBCode):
cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00080000 00010000 "RedBoot"
mtd1: 00200000 00010000 "zImage"
mtd2: 00140000 00010000 "rd.gz"
mtd3: 00010000 00010000 "vendor"
mtd4: 00020000 00010000 "RedBoot Config"
mtd5: 00010000 00010000 "FIS directory"
mtd6: 00400000 00010000 "spi_flash"

In meinem Fall brauchen wir mtd1 für den Kernel und mtd2 für die initrd:

Jetzt Flashen wir den Kernel:
Rich (BBCode):
./flashcp -v /Verzeichnis eurer Wahl/zImage /dev/mtd1
und jetzt die initrd:
Rich (BBCode):
./flashcp -v /Verzeichnis eurer Wahl/rd.bin /dev/mtd2

zum Abschluss noch einen Reset durchführen (1x den Reset drücken bis es piepst, kurz loslassen und nochmal so lange bis es piepst). Eure DS startet neu und Ihr könnt nun mittels Synology Assistent die aktuelle Stable installieren.

Viel Erfolg!

Thorsten


have you any idea if this procedure can be used to downgrade from 6.2.1-23824 update 1 ->>>> 4.2-3202 (a major release)?..

I have a 413J
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.979
Punkte für Reaktionen
618
Punkte
484
You don't have to quote the whole post.

And I don't think that it is possible or even advisable to downgrade from DSM 6.x to 4.x. Far too much things have changed over the years in DSM which will cause heavy issues when downgrading to such an old DSM.

Consider to set it up from scratch when you like to use DSM 4.x
 

octav59

Benutzer
Mitglied seit
29. Nov 2019
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Hello Thorsten.
I registered here just to thank you for your brilliant solution to downgrade from DSM 6.x
Sorry, I don't speak German and English is not my native language.
I use your solution to downgrade DS213j from DSM 6.2.2 - 24922 to DSM 5.1 - 5055. Worked perfectly. My Syno is back again.
DSM 6 is not for old and less powerful stations. Now I know the hard way - 2 days of searching and trying till I found your post.
Just few remarks for those like me, using Google Translate: take care at syntax of the commands and double check original Code boxes! Google adds some spaces before slashes.
Thank you very much for your elegant and excellent solution!
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat