Wie bekomme ich DSM 7 auf meiner Synology DS412+

Hallo,
Oder den Telefonjoker bei mir lösen. Kann ja eine bauen.
@RSfuchs
wenn das hier ein kommerzielles oder auch nur privat finazielles Angebot ist so bist Du sofort RAUS. Dein Beiträge ecken zunehmens an, reiss Dich zusammen.

Gruß Götz
 
Negativ, kein kommerzielles oder auch nur privat finanzielles Angebot.
 
  • Haha
Reaktionen: mayo007
Ich hab mir den ganzen Thread jetzt mal per Google ins Chinesische übersetzen lassen. So langsam macht er jetzt auch Sinn.
 
Da bin ich aber froh. Dachte schon in bin der einzig der hier nichts versteht. Aber ich sage mir ja immer, ich muss nicht immer alles verstehen. ;)
 
Also das was @RSfuchs geschrieben hat, funktioniert auch soweit.
Ich hatte bereits meine DS412+ als DS713+ laufen mit DSM7.1, das geht sogar recht einfach.

Anstatt eines modifizierten USB-Sticks (VID/PID 0xF400) habe ich einen alten Raspberry Zero 1.3 (ohne WLAN) verwendet.
Den kann man ganz einfach in den Gadget Mode als mass_storage device schalten um einen 0xF400 USB-Stick zu emulieren.

Hier eine grobe Anleitung, wie ich es gemacht habe (bin selber Senior Linux Admin, bin also auf der Shell recht sicher unterwegs)
1. Backup vom aktuellen Flash erstellen (sollte man sowieso immer machen, falls mal das Flashmodul abraucht)
- SSH auf der Syno aktivieren, mit Putty oder anderem SSH-Client auf der DS einloggen.
sudo if=/dev/synoboot of=/volume1/PFAD_ZUM_BACKUP/synoboot.img

2. USB-Stick bzw. Raspberry Zero am PC anschließen und erstmal das original Image flashen.
Unter Windows z.B. mit Balena Etcher oder dem raspberry rpi-imager oder unter Linux ganz einfach mit dem Befehl:
cp synoboot.img /dev/sda (mit "fdisk -l" den USB-Stick herausfinden)

3. Das interne Flash-Modul ausstöpseln und eine leere Festplatte in den ersten Slot stecken.

4. Mit dem USB-Stick/Zero booten (Bootvorgang braucht bisschen länger)
Den Zero schon vor dem Booten mit Strom versorgen.
Bei meinem Zero hatte ich das Problem, dass das NAS beim Einschalten Strom von der USB-Buchse gezogen hat, womit die Spannung vom Zero deutlich unter 5V fiel und er Zero sich daraufhin rebootet hat, womit aber dann das NAS nicht mehr hochfährt. Stärkeres Netzteil für den Zero oder Zero nach dem Einschalten erst einstecken.

5. Installation vom Stick/Zero testen.

6. SSH wieder aktivieren und vender Datei runterladen (geht am einfachsten)
- SSH auf das NAS
- in das Verzeichnis /dev wechseln:
cd /dev
- synoboot2 mounten (man muss in /dev sein, anders geht es nicht)
sudo mount synoboot2 /mnt
- vender Datei kopieren
sudo cp /mnt/vender /volume1/ZIEL_VERZEICHNIS

7. 713+ installieren
Entweder das Image von @RSfuchs auf den USB-Stick/Zero flashen, den Stick dann unter Windows einhängen und die vender-Datei auf die 2te Partition kopieren, oder sich das 713+ PAT runterladen (synology_cedarview_713+.pat), das dann mit 7z 2 mal entpacken und die Files aus dem flashupdate Debian package extrahieren. Ich verwende dazu unter Linux den Midnight-Commander (Befehl: mc) mit dem man einfach aus dem deb-File rauskopieren kann (Ordner: CONTENT)
Die Files rd.gz, zImage, checksum.syno, grub_cksum.syno auch auf die 2te Partition vom Stick kopieren. In der checksum.syno noch die Zeilen löschen von den Files, die sich nicht auf der 2ten Partition befinden.

8. Das NAS sollte dann als DS713+ booten und auch 7.1 installierbar sein.

Ich hab ca. 3 Stunden gebraucht um alles nachvollziehen zu können, tue mich aber auch beim Reverse Engineering einfacher.

RS814+ habe ich noch ein paar Schwierigkeiten. Die von @RSfuchs angedeutete vender Datei im format_version=2 kann ich auch nachbauen.
Checksummen berechnen ist kein Hexenwerk. Werde ggf. noch ein kleines Script veröffentlichen. Jedoch hat die Installation noch nicht geklappt.

Wenn jemand das Shell-Script für den Raspberry Zero haben möchte, einfach PN, möchte nicht den Post mit Shell-Code zumüllen :)
 
Zuletzt bearbeitet:
So wie in #149 oder vorher ist es richtig.

Ich habe immer nur die Dateien aus dem vollen Release genommen, also z.B. der DSM_RS814+_25556.pat
Dann normal über die GUI die Updates installiert. Dann klappt es bestimmt auch mit der RS814+.

OFF Topic: Für die DS3621xs+ braucht es nicht einmal eine DS212+, ... nur Daddies Server :ROFLMAO:. Den DSM8-download finde ich aber nicht. Höchster Stand ist immer noch 7.1.1-42962-3
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Ach was, ich mach aus der DS212+ gleich eine DS3621xs+ mit DSM 8.0 (y):ROFLMAO:
 
  • Haha
Reaktionen: Benie und Thonav
Off Topic: Wird jetzt aus der DS212+ eine 220+ mit DSM 7.1.1 ;)
Off Topic:
Zu schräg. Aber meine DS710+ lief bereits als DS3615xs mit 6.2.3. Als DS920+ müsste ich erneut testen. Falls ich mal wieder eine besitze, wird das mit DSM 7.1.1. nachgeholt.
 
Zuletzt bearbeitet:
mal ganz auf die schnelle hingezimmert:

Python:
#!/usr/bin/env python

from textwrap import wrap


mac_addresses = ["001132000000", "001132000001"]
sn = "xxxxMANxxxxxx"

with open("vender_source", "rb") as f:
    vendor = list(f.read(65536))

count = 0
for mac in mac_addresses:
    mac_bytes = wrap(mac, 2)

    sum = 0
    for b in mac_bytes:
        i = int(b, 16)
        sum += i
        vendor[count] = chr(i)
        count += 1

    checksum = sum % 256
    vendor[count] = chr(checksum)
    count += 1

chk = 0
for i in list(sn):
    chk += ord(i)

s = "SN={},CHK={}".format(sn, chk)

count = 32
for i in list(s):
    vendor[count] = i
    count += 1

with open("vender", "wb") as f:
    f.write(''.join(vendor))
ein vender file version2 habe ich auch recht schnell gefunden.
 
  • Like
Reaktionen: RSfuchs
Wird jetzt aus der DS212+ eine 220+
Klar, Prozessor-Upgrade über Emulation inklusive. Da wird dann direkt aus einem Marvell Kirkwood ein Intel Celeron. Nur den Aufkleber für den Prozessor mußt Du noch selbst drucken.
 
  • Haha
Reaktionen: ctrlaltdelete
@strange
Der Python code läuft bei mir durch, danach ist die vender_source vermaggelt. Da ich kein Programmierer bin, wäre eine kurze Beschreibung des Nutzens und der Anwendung vonnöten.
 
Zuletzt bearbeitet:
Das script liest ein file "vender_source" ein, welches als Template dient, packt da die mac Adressen und die serial rein, mit dazugehörigen Checksummen und schreibt es als "vender" raus.
 
Die Dateiinput/-output vender_source/vender konnte sogar ich dem Code entlocken. Sonst wäre der Code ja nicht fehlerfrei durchgelaufen. Aber welches Template format_version=1 oder2? Müssen Platzhalter dasein, die neuen Werte im Code oder in der vender_source eingetragen werden?
 
Zuletzt bearbeitet:
Für ein "Modell-Upgrade" müssen die vier markierten Dateien aus dem PAT-file die auf der zweiten Partiton ersetzten.
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    107,5 KB · Aufrufe: 50
Zuletzt bearbeitet:
  • Like
Reaktionen: Benie

Additional post fields

 

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