Bien le bonjour,
Merci beaucoup pour ton tutoriel qui, presque 4 ans après, reste d'actualité et m'a bien aidé.
J'ai personnellement acheté un DS214se et j'ai rencontré quelques difficultés que je souhaite épargner à d'autres :
Les liens de l'article sont morts. Les nouveaux sont à ce jour : le pdf et les sources
J'ajouterai également la liste des processeurs
Cet article et celui-ci qui m'ont aidé à comprendre que le gcc inclus dans le toolchain en 32bits ne fonctionne pas sous un ubuntu en 64bits
Le première chose est donc de regarder quel est le type de processeur de notre syno (vf liste des processeurs) puis de télécharger (cf les sources) le toolchain qui va bien sur une machine autre que le syno. Sur mon ubuntu, ça donne :
flo@ubuntu:~$ wget http://downloads.sourceforge.net/project/dsgpl/DSM%205.0%20Tool%20Chains/Marvell%20armada%20370%20Linux%203.2.40/gcc464_glibc215_hard_armada-GPL.tgz
flo@ubuntu:~$ tar -zxpf gcc464_glibc215_hard_armada-GPL.tgz -C /usr/local/
Avant de pouvoir utiliser le gcc du toolchain, il faut installer les paquets suivants pour exécuter des scripts 32bits sur un OS 64bits :
flo@ubuntu:~$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
Ensuite, on télécharge rsync et on le configure comme indiqué ci-dessus.
flo@ubuntu:~$ wget http://rsync.samba.org/ftp/rsync/rsync-3.1.1.tar.gz
flo@ubuntu:~$ tar -xzvf rsync-3.1.1.tar.gz
flo@ubuntu:~$ wget http://rsync.samba.org/ftp/rsync/rsync-patches-3.1.1.tar.gz
flo@ubuntu:~$ tar -xzvf rsync-patches-3.1.1.tar.gz
flo@ubuntu:~$ cd rsync-3.1.1
flo@ubuntu:~$ patch -p1 <patches/detect-renamed.diff
flo@ubuntu:~$ patch -p1 <patches/time-limit.diff
flo@ubuntu:~$ patch -p1 <patches/detect-renamed-lax.diff
Pour moi, la commande trouvée dans le pdf pour compiler rsync fut :
flo@ubuntu:~$ sudo env CC=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc
LD=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ld
RANLIB=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ranlib
CFLAGS="-I/usr/local/arm-marvell-linux-gnueabi/include -mhard-float -mfpu=vfpv3-d16"
LDFLAGS="-L/usr/local/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/lib"
./configure
--host=armle-unknown-linux
--target=armle-unknown-linux
--build=i686-pc-linux
--prefix=/usr/local
Enfin, mon NAS disposait déjà de rsync 3.0.9. Je m'en suis donc servi pour envoyer le fichier précédemment compilé :
flo@ubuntu:~$ rsync -ahz ~/rsync-3.1.1/rsync root@IP_DU_NAS:/root
Enfin, sur le NAS, j'ai déplacé le fichier dans /usr/local/rsync3.1.1-patched/ et modifié le lien symbolique pour que la commande rsync utilise correctement ma version :
nas> mkdir /usr/local/rsync3.1.1-patched
nas> mv rsync /usr/local/rsync3.1.1-patched/
nas> ln -s /usr/local/rsync3.1.1-patched/rsync /usr/bin/rsync
nas> mv /opt/bin/rsync /opt/bin/rsync-bak # Sinon on utilise le rsync d'ipkg dans /opt/bin => la commande which rsync peut servir
nas> reboot
nas> rsync --version
rsync version 3.1.1 protocol version 31
Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
no socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, no ACLs, xattrs, iconv, symtimes, prealloc
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.