NAS QNAP-OS in VM Laufen lassen

  • Hi Leute,


    um es kurz zumachen, ich möchte gern die VM benutzen um Einstellungen, Konfigurationen und Howto durchzutesten bevor ich es auf mein Produktiv-NAS (TS-859 PRO) übernehmen kann.


    Welche Möglichkeiten gibt es da?

  • Hi,


    zuerst einmal die Forensuche (oben rechts). Weil das Thema hatten wir schon ein paar mal ;)


    Grüsse, David

  • Hi David,


    den Beitrag habe ich auch gelesen, leider ist dieser nicht sehr aufschlussreich.
    Mir geht es darum wo bekomme ich ein VM-Image des QNAP-OS für eine VM her b.z.w. wie kann ich ein von meinem QNAP-NAS oder Firmware-Image ein eine VM erzeugen?

  • Das ist dann wieder was anderes und ich erkläre es gerne. ;)


    Also was fertiges gibt es da nicht. Was man probieren könnte, ist den Kernel und das rootfs vom Flash beim NAS zu extrahieren. Bei QEMU gib's die Option Prozessoren zu emulieren (was man bei der x86 nicht brauchen würde), aber vorallem auch die Möglichkeit einen kernel mit einem rootfs zu starten gäbe es da.


    Man könnte aber auch einen ARM mit den Board versatilepb emulieren....
    Wichtig wären halt erst einmal die Flags -kernel (Kernel) -hda (für das rootfs). Zumindest könnte man aus den beiden Flags was machen.


    Grüsse, David

  • Hallo David,


    danke für deine Antworten, der Ansatz ist erstmal nicht schlecht.
    Jetzt stellte sich nur die frage wie kann man das Flash extrahieren und weiterbearbeiten? _hurted:
    Die Geschichte ein ARM Prossesor zu emulieren stehlt sich bei mir nicht.
    Vielleicht gibt es auch die Möglichkeit ein Backup von NAS-System zu erzeugen, was man dann in die VM dann wieder zurückspielen kann?

  • Die Qnap Firmware zu virtualisieren würde mich auch reizen.


    Gibt es eine Möglichkeit direkt die Firmware Images auszupacken?
    Ich habe versucht die unter Linux einfach zu mounten, aber das hat mit keinem Dateisystemen geklappt. Da der Inhalt einer Firmware *.img Datei einen sehr unregelmäßigen Eindruck macht und sich auch durch Zippen nicht komprimieren lässt, wird der Inhalt wohl bereits komprimiert, bzw. gar verschlüsselt sein. Weiß da jemand mehr? Habt ihr auf dem NAS die Firmware-Update-Routine finden können?


    Den anderen Ansatz, den Inhalt des FlashModuls von einem laufenden NAS zu extrahieren, werde ich demnächst mal versuchen. Hat das schonmal jemand gemacht?

  • QEMU, den Kernel, das rootfs (grab everything you need from the NAS ;)).
    Wobei es nicht 1:1 das selbe ist. Notfalls müsste man 'nen eigenen Kernel Backen.


    Grüsse, David

  • Ich hab von meinem TS-239 Pro NAS das /dev/sdx Device gedumped und eine virtuelle Festplatte draus gemacht (VMDK):


    • Der Grub ist im MBR
    • sdx1: Grub config
    • sdx2 und sdx3: redundant Kernel, Ramdisk und RootFS
    • sdx4: kA (kann Dateisystem nicht mounten)
    • sdx5: leer
    • sdx6: enthält die Konfiguration (uLinux.conf, etc)


    Der Kernel bootet grundsätzlich (bei mir in VMware Fusion und VirtualBox), allerdings wirft er einige Fehler beim Laden vom RootFS. Wenn er "Extract RootFS Ext..." versucht, kommt: "mount: /dev/sdx2 is not a valid block device". Danach gibt es diverse Fehler beim Laden von shared object Files von daemon_mgr und getcfg. Anschließend hängt er bei irgendwas aber mit Strg+C erscheint der normale login wo man mit admin:admin rein kommt.
    Irgendwie erkennt er die Festplatte von der er gebootet hat nicht richtig, unter /sys/block/ sehe ich nur ein sdX Device: "sdiv". Unter /dev/ gibt es dafür keine Einträge und ich kann es somit nicht mounten. Die uLinux.conf habe ich durch die Default-Version ersetzt aber das ändert nichts.


    Mein Problem ist also: Wie mounte ich das RootFS?


    In der uLinux.conf gibt es "System Device = /dev/sdx", sollte das sich das RootFS also irgendwie mounten lassen, sollte sich vielleicht da der Pfad anpassen lassen.

  • Ich habe mich auch die letzten Tage daran versucht, scheitere jedoch an dem "/dev/sdx".
    Es wird bei mir immer ein sda mit dem System angelegt, ich bekomme weder eine Festplatte noch einen USB-Stick auf sdx umbenannt.


    Da die QNAP beim booten über einen Linux USB Stick das DOM aber auch als /dev/sdb anzeigt, muss es eine boot-Funktion sein die das
    device umbenennt. Nur habe ich diese noch nicht gefunden.


    Any Ideas?