[TS-409 Pro] rsync: Aktuelle Version übersetzen

  • Hallo,


    ich bin auf dem Weg mein aktuelles NAS (TS-409 Pro) durch einen Nachfolger (TS-431) zu ersetzen. Die Daten, mittlerweile rund ~3 TB, lassen sich nicht schnell mit einer 500 MHz CPU per scp/sftp verschlüsseln und komprimieren und zum neuen NAS übertragen.


    Die (aus meiner Sicht) einzige sinnvolle Möglichkeit Dateien zu übertragen ist rsync - ohne SSH. Leider hat QNAP in der Firmwareversion 3.3.3 eine kastrierte Version von rsync mitgeliefert, mit der kein sinnvolles arbeiten möglich ist.


    Ich will hier kurz erklären wie man sich ein eigenes rsync übersetzt. Voraussetzung ist - natürlich - einiges an Erfahrung mit Linux! Ich verwende Linux Mint 20 als Compile-Host.


    Los geht es:


    1. $ mkdir rsync4nas
    2. $ cd rsync4nas/
    3. Den nötigen Compiler für das TS-409 NAS findet man hier:
      QDK-Guide
      Die Toolchain für die Marvell ARM NAS Toolchain(ARM-x19) funktioniert auch für das TS-409 NAS.
    4. Toolchain entpacken:
      $ tar xfz ~/Downloads/TS-x19_cross-project-arm-20110901.tar.gz -C .
    5. Pfad zum Compiler setzen:
      $ export PATH=${PATH}:${HOME}/rsync4nas/opt/cross-project/arm/marvell/bin
    6. Sicherstellen das er Compiler auch gefunden wird:
      $ arm-none-linux-gnueabi-gcc
      sollte die Ausgabe
      arm-none-linux-gnueabi-gcc: no input files
      liefern.
    7. Die Sourcen für rsync gibt es hier:
      Welcome to the rsync web pages
    8. rsync entpacken:
      $ tar xfz ~/Downloads/rsync-3.2.6.tar.gz -C .
    9. In das rsync Verzeichnis wechseln:
      $ cd rsync-3.2.6/
    10. Die Softwareumgebung ist beim QTS abgespeckt, also muss rsync auch abgespeckt werden. Das configure Script mit notwendigen Optionen wird wie folgt aufgerufen:


    11. Compiler starten:


    12. Schnell prüfen das wir auch ein Cross Compiled Binary (für ARM) haben:


      Code
      $ file rsync
      rsync: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.14, with debug_info, not stripped
    13. Danach das Binary zum NAS übertragen und happy rsync'en

    Ich hoffe ich kann hier dem einen oder anderen helfen.



    Gruss,