avant la déclaration pour all: (juste après les définitions des variables susnommées, en fait :)
ensuite, pour la fabrication de la cible all, je lui ai donné une règle:
make -C /usr/src/linux-`uname -r` SUBDIRS=`pwd` modules
ca a pour effet de demander au noyau de compiler les modules unicorn_usb_atm/eth qui sont externes a l'arborescence.
ce make est la syntaxe obligatoire pour la compilation d'un module du kernel 2.6 (cf. Kernelnewbies)
et pour la fabrication de la cible install: j'ai mis
make -C /usr/src/linux-`uname -r` SUBDIRS=`pwd` modules_install
et j'ai mis en commentaires le mkdir et le cp des cibles install_atm et install_eth
le make, make install devrait normalement te faire tout bien comme il faut...
mon problème actuel: il me dit que le module est invalide.... et ne passe pas au modprobe
pour trouver ou il a placé ton module, (il devrait etre dans /lib/modules/$(ta_version_du_kernel)/extra ) tu peux toujours faire un updatedb, puis locate unicorn_usb_atm.ko
voila, si tu arrives a trouver d'ou vient le problème, chapeau...
mon info la plus avancée sur le sujet est donnée par un strace:
[^] # Re: Bewan USB ST Tele2: Yes !
Posté par fiftywan . En réponse au journal Bewan USB ST Tele2: Yes !. Évalué à 1.
avec le pilote 0.8.1, kernel 2.6.3-4mdk
Mandrake 10.0 Communauty Download
en fait, pour générer un module pour le noyau, il faut modifier le makefile.
et aussi disposer de l'intégralité des sources du noyau
pour l'instant, j'en suis au stade pas tres propre, à savoir faire des bidouilles a la main pour que ca compile
en fait, tu dois rajouter dans ton Makefile (j'ai pris celui qui est dans unicorn/unicorn_usb)
les lignes
obj-m := usb_unicorn_atm.o
obj-m += usb_unicorn_eth.o
en début de Makefile pour lui dir qu'on veut construire les modules unicorn_usb_at/eth
ensuite, pour dire au kernel quelles sont les dépendances du module avec les autres fichiers:
j'ai placé
unicorn_usb_atm-objs := $(OBJS) $(OBJS_ATM) $(LIBM)
unicorn_usb_eth-objs := $(OBJS) $(OBJS_ETH) $(LIBM)
avant la déclaration pour all: (juste après les définitions des variables susnommées, en fait :)
ensuite, pour la fabrication de la cible all, je lui ai donné une règle:
make -C /usr/src/linux-`uname -r` SUBDIRS=`pwd` modules
ca a pour effet de demander au noyau de compiler les modules unicorn_usb_atm/eth qui sont externes a l'arborescence.
ce make est la syntaxe obligatoire pour la compilation d'un module du kernel 2.6 (cf. Kernelnewbies)
et pour la fabrication de la cible install: j'ai mis
make -C /usr/src/linux-`uname -r` SUBDIRS=`pwd` modules_install
et j'ai mis en commentaires le mkdir et le cp des cibles install_atm et install_eth
le make, make install devrait normalement te faire tout bien comme il faut...
mon problème actuel: il me dit que le module est invalide.... et ne passe pas au modprobe
pour trouver ou il a placé ton module, (il devrait etre dans /lib/modules/$(ta_version_du_kernel)/extra ) tu peux toujours faire un updatedb, puis locate unicorn_usb_atm.ko
voila, si tu arrives a trouver d'ou vient le problème, chapeau...
mon info la plus avancée sur le sujet est donnée par un strace:
$ strace modprobe unicorn_usb_atm
init_module("ELF", 0xd1c31) = -1 ENOEXEC (Exec format error)
write(2, "FATAL: Error inserting unicorn_u"..., 113FATAL: Error inserting unicorn_usb_atm (/lib/modules/2.6.3-4mdk/extra/unicorn_usb_atm.ko): Invalid module format
) = 113
voila, bon courage...