Ma distribution est une debian et le noyau utilisé est le dernier disponible c'est-à-dire le 2.6.15.4.
Lors de la compilation du noyau, j'ai ce message d'erreur:
drivers/usb/atm/cxacru.c:39:25: linux/mutex.h : Aucun fichier ou répertoire de ce type
Dans le fichier inclus à partir de drivers/usb/atm/cxacru.c:41:
drivers/usb/atm/usbatm.h:37:25: linux/mutex.h : Aucun fichier ou répertoire de ce type
In file included from drivers/usb/atm/cxacru.c:41:
drivers/usb/atm/usbatm.h:175: error: field `serialize' has incomplete type
drivers/usb/atm/cxacru.c:164: error: field `cm_serialize' has incomplete type
drivers/usb/atm/cxacru.c: Dans la fonction « cxacru_cm »:
drivers/usb/atm/cxacru.c:223: attention : implicit declaration of function `mutex_lock'
drivers/usb/atm/cxacru.c:292: attention : implicit declaration of function `mutex_unlock'
drivers/usb/atm/cxacru.c: Dans la fonction « cxacru_bind »:
drivers/usb/atm/cxacru.c:721: attention : implicit declaration of function `mutex_init'
make[3]: *** [drivers/usb/atm/cxacru.o] Erreur 1
make[2]: *** [drivers/usb/atm] Erreur 2
make[1]: *** [drivers/usb] Erreur 2
make: *** [drivers] Erreur 2
Je n'ai pas réussi à résoudre ce problème; je ne trouve pas ce fichier d'entête linux/mutex.h dans mon arborescence, aucun des paquets debian ne semble contenir ce fichier.
J'ai cherché en vain sur google, dans la mailing list et les forums du projet sourceforge de ce driver.
Merci d'avance si vous avez une réponse.
# a mon avis
Posté par Anonyme . Évalué à 2.
linux 2.6.10
peut tu preciser les etapes que tu fait a partir du moment ou tu as copier le modules dans /usr/src/etc...
[^] # Re: a mon avis
Posté par erwanj . Évalué à 1.
Donc je télécharge le noyau 2.6.10 :
debian:/usr/src# wget -c http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2
debian:/usr/src# tar -jxvf linux-2.6.10.tar.bz2
debian:/usr/src# rm -f linux
debian:/usr/src# ln -s linux-2.6.10 linux
A ce moment là, je télécharge le driver :
debian:/usr/src# cvs -z9 -q -d :pserver:anoncvs:anoncvs@cvs.infradead.org:/home/cvs co usbatm
debian:/usr/src# cp -fr usbatm/* linux/drivers/usb/atm/.
Puis je copie mon ancien .config
debian:/usr/src# cp /boot/config-2.6.15.4 linux/.config
debian:/usr/src# cd linux
debian:/usr/src/linux# make menuconfig
Je selectionne en dur (*) les 4 drivers ( USB DSL modem support, Speedtouch USB suipport, Conexant AccessRunner USB support et Others USB DSL modem support) dans Device Drivers / USB support / USB DSL modem support. Je sélectionne aussi en dur Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) et Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) (ATM) comme indiqué dans la doc.
Enfin, je fais un make. Et il me sort la même erreur:
drivers/usb/atm/cxacru.c:39:25: linux/mutex.h : Aucun fichier ou répertoire de ce type
Dans le fichier inclus à partir de drivers/usb/atm/cxacru.c:41:
drivers/usb/atm/usbatm.h:37:25: linux/mutex.h : Aucun fichier ou répertoire de ce type
In file included from drivers/usb/atm/cxacru.c:41:
drivers/usb/atm/usbatm.h:175: error: field `serialize' has incomplete type
drivers/usb/atm/cxacru.c:164: error: field `cm_serialize' has incomplete type
drivers/usb/atm/cxacru.c: Dans la fonction « cxacru_cm »:
drivers/usb/atm/cxacru.c:223: attention : implicit declaration of function `mutex_lock'
drivers/usb/atm/cxacru.c:292: attention : implicit declaration of function `mutex_unlock'
drivers/usb/atm/cxacru.c: Dans la fonction « cxacru_bind »:
drivers/usb/atm/cxacru.c:677: attention : implicit declaration of function `kzalloc'
drivers/usb/atm/cxacru.c:677: attention : affectation transforme un entier en pointeur sans transtypage
drivers/usb/atm/cxacru.c:721: attention : implicit declaration of function `mutex_init'
make[3]: *** [drivers/usb/atm/cxacru.o] Erreur 1
make[2]: *** [drivers/usb/atm] Erreur 2
make[1]: *** [drivers/usb] Erreur 2
make: *** [drivers] Erreur 2
[^] # Re: a mon avis
Posté par Anonyme . Évalué à 2.
make dep
make bzImage
make modules
make modules_install
la commande make tous seul N'EST PAS UTILISé POUR COMPILER LE NOYAU, bon la ce devrais marcher
de rien :)
[^] # Re: a mon avis
Posté par erwanj . Évalué à 1.
Merci!
[^] # Re: a mon avis
Posté par erwanj . Évalué à 1.
Dans un premier temps, j'ai relancer make menuconfig pour vérifier que mes modules "usb atm" étaient bien sélectionnés.
Puis j'ai fait un make dep :
debian:/usr/src/linux# make dep
*** Warning: make dep is unnecessary now.
Ensuite, j'ai éxecuté make bzImage:
debian:/usr/src/linux# make bzImage
CHK include/linux/version.h
SPLIT include/linux/autoconf.h -> include/config/*
make[1]: « arch/i386/kernel/asm-offsets.s » est à jour.
CHK include/linux/compile.h
CHK usr/initramfs_list
LD drivers/usb/atm/built-in.o
Kernel: arch/i386/boot/bzImage is ready
Enfin, j'ai lancé sans succès make modules :
debian:/usr/src/linux# make modules
CHK include/linux/version.h
make[1]: « arch/i386/kernel/asm-offsets.s » est à jour.
CC [M] drivers/usb/atm/cxacru.o
drivers/usb/atm/cxacru.c:39:25: linux/mutex.h : Aucun fichier ou répertoire de ce type
Dans le fichier inclus à partir de drivers/usb/atm/cxacru.c:41:
drivers/usb/atm/usbatm.h:37:25: linux/mutex.h : Aucun fichier ou répertoire de ce type
In file included from drivers/usb/atm/cxacru.c:41:
drivers/usb/atm/usbatm.h:175: error: field `serialize' has incomplete type
drivers/usb/atm/cxacru.c:164: error: field `cm_serialize' has incomplete type
drivers/usb/atm/cxacru.c: Dans la fonction « cxacru_cm »:
drivers/usb/atm/cxacru.c:223: attention : implicit declaration of function `mutex_lock'
drivers/usb/atm/cxacru.c:292: attention : implicit declaration of function `mutex_unlock'
drivers/usb/atm/cxacru.c: Dans la fonction « cxacru_bind »:
drivers/usb/atm/cxacru.c:677: attention : implicit declaration of function `kzalloc'
drivers/usb/atm/cxacru.c:677: attention : affectation transforme un entier en pointeur sans transtypage
drivers/usb/atm/cxacru.c:721: attention : implicit declaration of function `mutex_init'
make[3]: *** [drivers/usb/atm/cxacru.o] Erreur 1
make[2]: *** [drivers/usb/atm] Erreur 2
make[1]: *** [drivers/usb] Erreur 2
make: *** [drivers] Erreur 2
Je ne suis pas sûr de bien procédé lors de la compilation du noyau. Quand tu me dis "apres ton make menuconfig et la configuration de ton noyau" qu'entends-tu par "configuration de ton noyau"? Je pensais que le make menuconfig correspondait la configuration du noayu. Est-ce que tu as dans ton arborescence un fichier "linux/mutex.h".
Je vais réessayer en lançant cette commande :
debian:/usr/src/linux# make dep clean bzImage modules modules_instal
Merci
[^] # Re: a mon avis
Posté par Anonyme . Évalué à 2.
-tu n'es pas root
-tu telecharge un linux-2.6.10.tar.gz
-tu le decompresse dans /home/toi/
-tu telecharge les modules sur le cvs que tu souhaite comme tu fais.
-tu les places dans /home/toi/linux-2.6.10/etc...
-tu fais make menuconfig tu selectionne les options comme la doc te le preconise
-tu fais make bzImage (visiblement make dep n'existe plus avec un 2.6)
-tu fais un make modules
si tous cela se passe bien, y a pus ka installer bzImage et les modules (en root) si cela coince essaye avec un noyau plus recents, dans ton /home/toi et pas en root.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.