Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

besoin d'aide pour la compilation d'un module

8 réponses
Avatar
mathieu
salut à tous

je viens d'installer une carte wifi (msipc54g) sur ma machine.
Contrairement à ce que j'avais pu lire, elle n'est pas directement
reconnue par mon linux (mandrake 10.0). Je pense que c'est parce que le
chipset à changé entre les différentes versions. D'ailleurs, msi
annonçait le support de linux dans les OS mais cette info à disparue de
la version française.

Donc, maintenant, chipset ralink. Ca tombe bien, ils ont décidé de
produire des drivers pour linux (http://www.ralinktech.com.tw/supp-1.htm)

comme dans les versions pre-compilées, il n'y a pas celle pour mon noyau
(seulement pour celui de la mandrake community), j'ai récupéré les
sources et tenté une compilation à la main (quelle aventure pour moi !!)

voilà un extrait du readme:

c. $make config # config build linux os version

d. $make all # compile driver source code

e. $load # load/insmod module(rt2500.o)

bête et discipliné, je suis les instructions
[root@localhost Module]# make config

-------------------- Ralink RT2500 Station Configuration
--------------------

Linux kernel source directory : /usr/src/linux-2.6.3-7mdk

Module install directory : /lib/modules/2.6.3-7mdk/kernel/drivers/net

[root@localhost Module]# make all
cc -D__KERNEL__ -I/usr/src/linux-2.6.3-7mdk/include -O2
-fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpr
eferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.6.3-7mdk/include/linux/modversions
.h -Wall -Wstrict-prototypes -Wno-trigraphs -c -o rtmp_main.o rtmp_main.c
<command line>:138832025:26848:
/usr/src/linux-2.6.3-7mdk/include/linux/modversions.h: No such file or
directory
In file included from /usr/src/linux-2.6.3-7mdk/include/linux/irq.h:20,
from /usr/src/linux-2.6.3-7mdk/include/asm/hardirq.h:6,
from
/usr/src/linux-2.6.3-7mdk/include/linux/interrupt.h:11,
from rt_config.h:54,
from rtmp_main.c:30:
/usr/src/linux-2.6.3-7mdk/include/asm/irq.h:16:25: irq_vectors.h: No
such file or directory
In file included from /usr/src/linux-2.6.3-7mdk/include/asm/hardirq.h:6,
from
/usr/src/linux-2.6.3-7mdk/include/linux/interrupt.h:11,
from rt_config.h:54,
from rtmp_main.c:30:
/usr/src/linux-2.6.3-7mdk/include/linux/irq.h:70: error: `NR_IRQS'
undeclared here (not in a function)
In file included from /usr/src/linux-2.6.3-7mdk/include/linux/irq.h:72,
from /usr/src/linux-2.6.3-7mdk/include/asm/hardirq.h:6,
from
/usr/src/linux-2.6.3-7mdk/include/linux/interrupt.h:11,
from rt_config.h:54,
from rtmp_main.c:30:
/usr/src/linux-2.6.3-7mdk/include/asm/hw_irq.h:28: error:
`NR_IRQ_VECTORS' undeclared here (not in a function)
/usr/src/linux-2.6.3-7mdk/include/asm/hw_irq.h:31: error: `NR_IRQS'
undeclared here (not in a function)
make: *** [rtmp_main.o] Erreur 1

bon, ça coince. je regarde sur le net, sur le forum (en anglais
évidemment) du construteur et j'apprends qu'il faut faire un make dep
dans les sources du noyau.
je tente alors
[root@localhost linux-2.6.3-7mdk]# make dep
*** Warning: make dep is unnecessary now.

bref, je suis bloqué. J'ai sûrement pas compris la dernière instruction
et j'ai besoin de votre aide à vous O grands gourous ;)

@+

8 réponses

Avatar
Frédéric BISSON
/usr/src/linux-2.6.3-7mdk/include/linux/modversions.h: No such file or
directory
A tout hasard, les sources du noyau sont-ils installé ?

Généralement, il s'agit d'un paquetage qu'on installe ou non lors de
l'installation de l'OS.

Si tu ne l'as pas, ne cherche pas, tu ne pourras pas compiler de nouveaux
modules.

bref, je suis bloqué. J'ai sûrement pas compris la dernière
instruction
Quand tu as tout un florilège d'erreurs, remonte le flot jusqu'à la

dernière étape qui s'est bien passé, ensuite tu analyses le premier
message d'erreur, tu le corriges et tu relances la compilation.

et j'ai besoin de votre aide à vous O grands gourous ;)
Moi skippy, pas grand gourou... :)


@+

Frédéric

Avatar
mathieu

/usr/src/linux-2.6.3-7mdk/include/linux/modversions.h: No such file or
directory


A tout hasard, les sources du noyau sont-ils installé ?
Généralement, il s'agit d'un paquetage qu'on installe ou non lors de
l'installation de l'OS.

Si tu ne l'as pas, ne cherche pas, tu ne pourras pas compiler de nouveaux
modules.


oui oui, les sources sont installées




Quand tu as tout un florilège d'erreurs, remonte le flot jusqu'à la
dernière étape qui s'est bien passé, ensuite tu analyses le premier
message d'erreur, tu le corriges et tu relances la compilation.


et j'ai besoin de votre aide à vous O grands gourous ;)


Moi skippy, pas grand gourou... :)

salut à toi skippy, celui qui nous ôte tous souçi matériel


mais mon pb vient de ce make dep que je ne sais pas où ou quand faire
puisque la machine me dit que ce n'est pas nécessaire alors que dans les
forums on insiste sur le fait qu'il faut le faire

@+


Avatar
g.patel
On Tue, 20 Jul 2004 19:02:48 +0200, mathieu
wrote:

(...)
bête et discipliné, je suis les instructions


y compris celle qui dit qu'il faut faire un make mrproper
avant de compiler un noyau Mandrake, bien entendu.

Gérard Patel

Avatar
Web Dreamer
mathieu () a écrit le mardi 20 Juillet 2004
20:09 dans <40fd5fee$0$4223$ sur
fr.comp.os.linux.configuration :


mais mon pb vient de ce make dep que je ne sais pas où ou quand faire
puisque la machine me dit que ce n'est pas nécessaire alors que dans les
forums on insiste sur le fait qu'il faut le faire


Ce que je vais te dire serviras peut-être à rien mais essay ceci :

vérifie que le lien /usr/src/linux pointe vers les sources de ton noyau.
Sinon :

# ln -s /usr/src/linux-version_du_noyau /usr/src/linux

# cd /usr/src/linux
# cp .config /boot/maconfig-version_du_noyau
# make mrproper
# make clean
# cp /boot/maconfig-version_du_noyau .config
# make menuconfig (pour vérifier que la config soit comme y faut, quiter en
sauvegardant)
# make dep

make mrpoper efface les traces d'anciennes compiles et aussi le .config
(raison pour laquelle il faut le sauvegarder à tout prix pour ne pas avoir
à le refaire entierement avec un make menuconfig)
make clean efface ce qui a déjà été compilé dans les sources.
Make dep crées la liste des dépendances en fonction du .config

Si ça ne marche toujours pas, une compile propre peut aider. Recommence
comme ci-dessus depuis le début, puis:
# make bzImage (et prends un café, une biere, enfin patiente un petit peu)
# make modules (et tu as le temps de faire le ménage ou les courses,
légerement >1h sur mon celeron 1.1 Ghz avec ma gentoo, mais presque 3
heures sur ma mdk 9.1)
# make modules_install
# cp Sytem.map /boot/Sytem.map-version_du_noyau
# cp arch/i386/boot/bzImage /boot/kernel-version_du_noyau
# vi /etc/lilo.conf
(ajoute les entrées pour le nouveau noyau et ne supprimes pas l'ancien, au
cas ou...)
exemple, voici un extrait de mon /etc/lilo.conf:

image = /boot/kernel-2.4.26-gentoo-r3
root = /dev/hda5
append = "acpi=force devfs=mount
video=sisfb:mode:1024x768x16,mem:12288 quiet"
label = Gentoo-2.4.26
read-only

image = /boot/kernel-2.4.26
root = /dev/hda5
append = "acpi=force devfs=mount quiet"
label = Vanilla-2.4.26
read-only

image = /boot/kernel-2.4.25-gentoo-r4
root = /dev/hda5
append = "acpi=force devfs=mount quiet"
label = Gentoo-2.4.25
read-only # read-only for checking

ensuite:
# /sbin/lilo

aide précieuse : j'ai perso 3 sources de noyaux différents. si je foire la
compile de l'un d'eux, j'en ai toujours au moins 2 pour booter.
ne JAMAIS oublier de faire un
"ln -s /usr/src/linux-version_qu_on_compile /usr/src/linux"
avant une compille, ou avant l'ajout de drivers pour tel ou tel noyau.

En esperant que ça aide.
Bon courage

--
Web Dreamer
Gentoo Linux Registered User #313652 at http://counter.li.org/

Remplacez entre *nospam* par *tiscali*
et ajoutez *NewsGroupPrivateAnswer* dans le corps du message pour répondre.

Avatar
mathieu
On Tue, 20 Jul 2004 19:02:48 +0200, mathieu
wrote:

(...)

bête et discipliné, je suis les instructions



y compris celle qui dit qu'il faut faire un make mrproper
avant de compiler un noyau Mandrake, bien entendu.


euh, j'ai pas compilé le noyau moi, il est là par défaut
c'est pas ma faute ...

@+


Avatar
g.patel
On Wed, 21 Jul 2004 00:59:53 +0200, mathieu
wrote:

euh, j'ai pas compilé le noyau moi, il est là par défaut
c'est pas ma faute ...


j'ai des doutes sur la faisabilité de rajouter un module
au noyau sans tout recompiler dans ce cas.

Gérard Patel

Avatar
mathieu
mathieu () a écrit le mardi 20 Juillet 2004
20:09 dans <40fd5fee$0$4223$ sur
fr.comp.os.linux.configuration :





mais mon pb vient de ce make dep que je ne sais pas où ou quand faire
puisque la machine me dit que ce n'est pas nécessaire alors que dans les
forums on insiste sur le fait qu'il faut le faire



Ce que je vais te dire serviras peut-être à rien mais essay ceci :

vérifie que le lien /usr/src/linux pointe vers les sources de ton noyau.
Sinon :

# ln -s /usr/src/linux-version_du_noyau /usr/src/linux

# cd /usr/src/linux
# cp .config /boot/maconfig-version_du_noyau
# make mrproper
# make clean
# cp /boot/maconfig-version_du_noyau .config
# make menuconfig (pour vérifier que la config soit comme y faut, quiter en
sauvegardant)
# make dep

même message avec make dep, il me dit que c'est pas nécessaire à ce

moment là

j'ai essayé de compiler le noyau, mais là encore, j'ai le même pb.

difficile. je vais chercher une autre voie

@+


Avatar
Ronald
Le Wed, 21 Jul 2004 02:17:41 +0200, mathieu a écrit :






mais mon pb vient de ce make dep que je ne sais pas où ou quand faire
puisque la machine me dit que ce n'est pas nécessaire alors que dans
les forums on insiste sur le fait qu'il faut le faire



Ce que je vais te dire serviras peut-être à rien mais essay ceci :

vérifie que le lien /usr/src/linux pointe vers les sources de ton
noyau. Sinon :

# ln -s /usr/src/linux-version_du_noyau /usr/src/linux

# cd /usr/src/linux
# cp .config /boot/maconfig-version_du_noyau # make mrproper
# make clean
# cp /boot/maconfig-version_du_noyau .config # make menuconfig (pour
vérifier que la config soit comme y faut, quiter en sauvegardant)
# make dep

même message avec make dep, il me dit que c'est pas nécessaire à ce

moment là

j'ai essayé de compiler le noyau, mais là encore, j'ai le même pb.

difficile. je vais chercher une autre voie

@+


Avec un 2.6.x, pas de make dep.
Tu cp ta config dans /usr/src/linux-2.6.3-7mdk/.config ; make oldconfig
&& make modules bzImage
Tu n'as pas besoin de l'installer et une fois que tu as compiler ton
module tu peux faire un mrproper.