Bon je viens de réussir à faire fonctionner la cross compilation et en plus les modules générés sont fonctionnels sur mon DS110j !!!!
Bon, comme je pense que je ne suis pas le seul à galérer sur le sujet. Je vais vous faire un compte rendu rapide de la méthode que j'ai employé (accessoirement cela me permettra de m'en rappeler).
ATTENTION : Je vous préviens que ce genre manipulations est risquées pour votre Syno, ne venez pas me reprocher que vous avez tout planté.
Pour commencer, j'ai téléchargé la toolchains et le GPL correspondant à mon Syno :
- gcc421_glibc25_88f6281.tar.gz car la cpu est une marvell 6281 arm avec un kernel 2.6.24 => c'est un ensemble de programme qui permettent de compiler quelque chose pour le syno
- synogpl-944b.tbz => c'est le code source du synology alors ce qui est étrange c'est que mon firmware est un 965 et non 944 mais cela fonctionne.
J'ai effectué la compilation sur une machine sous Fedora 12 64 bits, bon accorchez vous bien voilà la liste des manips :
1 - Décompresser la tools chaines dans le répertoire /usr/local
2 - Décompresser la GPL dans le répertoire /usr/local/arm-none-linux-gnueabi/
3 - Dans le répertoire /usr/local/arm-none-linux-gnueabi/source/linux-2.6.24/ éditer le Makefile
4 - Corriger le Makefile (normalement cela aurait du être déjà fait mais bon) vers la ligne 193
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-
5 - Copier le fichier /usr/local/arm-none-linux-gnueabi/source/linux-2.6.24/synconfigs/88f6281 vers /usr/local/arm-none-linux-gnueabi/source/linux-2.6.24/.config
6 - Exécutez la commande :
make ARCH=arm \ CROSS_COMILE=/usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi- oldconfig
7 - Puis celle là :
make ARCH=arm \ CROSS_COMILE=/usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi- menuconfig (pour choisir les modules dont vous avez besoins mettre un M devant)
8 - Puis celle là :
make ARCH=arm \ CROSS_COMILE=/usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi- modules (pour compiler les modules)
9 - Récupérer les fichiers compilés, dans mon cas
/usr/local/arm-none-linux-gnueabi/source/linux-2.6.24/drivers/serial/usbserial.ko
/usr/local/arm-none-linux-gnueabi/source/linux-2.6.24/drivers/serial/fdti-sio.ko
Bon, sinon une petite listes de soucis que j'ai eu lors de la compilation :
- pour compiler il faut glibc.i686 et Mesa-libgl.i686 moi je les avais mais en x86_64
- pour faire marcher menuconfig il faut ncurves et ncurves-dev
Sur le syno, il faut faire cela (périphériques USB débranchés !!)
10 - copier les fichiers .ko dans le répertoire qui va bien pour moi :
/opt/etc/lib/modules/2.6.15/kernel/drivers/usb/serial/ => (Je me rend compte que c'est pas très logique mais cela n'à pas vraiment d'importance)
11 - Executez ces commandes pour inscrire les modules :
insmod serialusb.ko
insmod fdti-sio.ko
12 - Exécutez la commande suivante :
lsmod => dans usbcore il devrait y avoir usbserial et fdti-sio
13 - Branchez le périphérique USB
14 - Exécutez la commande suivante :
dmesg | grep usb => (il devrait y avoir des lignes au sujet d'un nouveau périphérique FDTI et qu'il a été attaché à ttyUSBx)
15 - Normalement le port série est fonctionnel en /dev/ttyUSBx
Tout d'abord je remercie ma fille Zoé pour m'avoir refilé sa crève et du coup m'avoir donné le temps de chercher, sinon je remercie toutes les sources que j'ai trouvé sur le net (principalement ici même Compilation pour les nuls ). Je remercie également MS_Totor pour s'être intéressé à mon problème et m'avoir confirmé que c'était faisable.
Voila je suis disposé à donner ce que j'ai compilé à qui le veux bien.=> Cf section TELECHARGEMENT du site