Modutils Sid? (résolu)

Hello,

juste pour info, j’ai tous les paquetages nécessaires à la recompilation de mon driver wifi (entre autre), sauf un : modutils. L’a pas l’air d’exister sous SID (en Etch oui, peut-être en Lenny - je n’ai pas vérifié, mais peu importe), ce qui fait qu’à la tentative de compilation j’ai un message d’erreur.

C’est quoi, l’équivalent sous SID?

.

Bon, je vais devoir refaire appel aux spécialistes de la compilation… Je suis largué, encore.

En fait, j’avais installé module-init-tools. Et dieu sait pourquoi, impossible de recompiler mon driver alors que la dernière fois, ca s’était passé sans trop de problème.

Dans mon répertoire /usr/src, j’ai tout ce qu’il faut (en fait, j’en ai sans doute de trop) :
driver linux-2.6.26.1 linux-kbuild-2.6.26
kernel-patches linux-headers-2.6.26-1-686 linux-source-2.6.26
linux linux-headers-2.6.26-1-common linux-support-2.6.26-1

Le répertoire build est créé et - en suivant un autre tuto - j’ai créé un lien symbolique qui va des entêtes au répertoire build, situé dans /lib/modules/2.6.26.1.

J’ai un .config. Actuellement je fonctionne avec le kernel directement fourni par la distribution SID, qui s’est installé lors de l’upgrade.

Mais le résultat reste :
Minimonstre:/usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0# make
make -C tools
make[1]: entrant dans le répertoire « /usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/tools »
gcc -g bin2h.c -o bin2h
make[1]: quittant le répertoire « /usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/tools »
/usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/tools/bin2h
cp -f os/linux/Makefile.6 /usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/os/linux/Makefile
make -C /lib/modules/2.6.26-1-686/build SUBDIRS=/usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/os/linux modules
make[1]: entrant dans le répertoire « /lib/modules/2.6.26-1-686/build »
make[1]: *** Pas de règle pour fabriquer la cible « modules ». Arrêt.
make[1]: quittant le répertoire « /lib/modules/2.6.26-1-686/build »
make: *** [LINUX] Erreur 2
Minimonstre:/usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0#

Pourtant le config.mk est bien en yes pour la partie wpa (ce qui n’a aucun rapport avec mon problème, j’en suis sûr… mais je l’indique pour qu’on ne me pose pas la question).

So what? Je dois recompiler mon kernel à partir des sources?

Juste une question en passant, j’ai installé le paquetage linux-sources, mais aussi le paquetage que l’on chope sur le site kernel.org.
Pour être clair, car j’ai un doute : ledit paquetage est aussi un fichier source, non? Sauf que l’un est le paquetage source founi spécifiquement par Débian et l’autre est le source plus “général”? je fais peut-être les choses en double, sur ce point.

En tout cas, ce que je pige pas, c’est que j’ai pu faire le nécessaire la dernière fois. Ici, j’ai tous les paquetages qui vont bien pour la recompilation (build-essential and cie).

Help! lol. Je me bas avec ça depuis hier.

hello,

Ca parle à personne? :s

Je ne suis pas spécialiste de la compilation (compiler des noyaux avec make-kpkg, c’est pas vraiment de la compilation), mais comme j’aime à le répéter, “c’est pas parce qu’on a rien à dire qu’il faut fermer sa gueule”.

Le paquet modutils est pour les noyaux 2.2. et 2.4. Pour les noyaux 2.6, il est remplacé par module-init-tools. On peut avoir les deux installés, et le système se débrouille pour exécuter le bon en fonction du noyau actif. Comme il n’y a plus de noyau 2.4 dans Debian depuis etch, le paquet modutils devenu inutile a dû être retiré dans lenny, comme ipchains en son temps. Ceci dit, je ne vois pas trop en quoi modutils ou module-init-tools servirait à la compilation de modules.

Vers quoi exactement pointe /lib/modules/2.6.26-1-686/build ? Si je ne m’abuse par défaut il devrait déjà exister et pointer vers /usr/src/linux-headers-2.6.26-1-686, normalement pas besoin d’y toucher. C’est là que se trouve le Makefile du noyau.

hello,

Eh bien, de base je n’avais rien dans /lib/modules/2.6.26-1-686 (pas de répertoire “build”, du moins). J’ai donc créé un répertoire build. et j’y fais pointer les headers dans ledit répertoire, comme ceci :

ln -s /usr/src/linux-headers-uname -r /lib/modules/uname -r/build/

Minimonstre:/lib/modules/2.6.26-1-686/build# ls
linux-headers-2.6.26-1-686

Actuellement, dans le répertoire 2.6.26-1, j’ai :

Minimonstre:/lib/modules/2.6.26-1-686# ls
build modules.ccwmap modules.inputmap modules.pcimap modules.usbmap
kernel modules.dep modules.isapnpmap modules.seriomap
modules.alias modules.ieee1394map modules.ofmap modules.symbols
Minimonstre:/lib/modules/2.6.26-1-686#

Le module-init-tools est installé, effectivement.

Techniquement j’ai toujours :

Minimonstre:/usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0# make
make -C tools
make[1]: entrant dans le répertoire « /usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/tools »
gcc -g bin2h.c -o bin2h
make[1]: quittant le répertoire « /usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/tools »
/usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/tools/bin2h
cp -f os/linux/Makefile.6 /usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/os/linux/Makefile
make -C /lib/modules/2.6.26-1-686/build SUBDIRS=/usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0/os/linux modules
make[1]: entrant dans le répertoire « /lib/modules/2.6.26-1-686/build »
make[1]: *** Pas de règle pour fabriquer la cible « modules ». Arrêt.
make[1]: quittant le répertoire « /lib/modules/2.6.26-1-686/build »
make: *** [LINUX] Erreur 2
Minimonstre:/usr/src/driver/2008_0918_RT2860_Linux_STA_v1.8.0.0#

(je confirme).

Côté packetage :

-build-essential - ok
-dh-make - ok

-GCC -gcc et gcc-version-base - ok (normalement par défaut)

-libncurses5-dev - ok par défaut

-libc6-dev - ok par défaut

-debconf-utils - ok

-dpkg-dev - ok pr défaut

-debhelper - ok

-debianutils - ok

-modutils - ok (ou module-init-tools sous la SID)

-perl - ok

-perl-modules - ok

-libncurses5-dev - ok

-kernel-package - ok

-binutils - ok

-tcl8.5 - ok

-tk8.5 - ok

-libgcc1 - ok

-make - ok

-bin86 - ok

Donc, en principe, il ne me manque rien.

[quote=“sonador”]ln -s /usr/src/linux-headers-uname -r /lib/modules/uname -r/build/

Minimonstre:/lib/modules/2.6.26-1-686/build# ls
linux-headers-2.6.26-1-686[/quote]
C’est pas bon. /lib/modules/uname -r/build ne doit pas être un répertoire mais un lien symbolique qui pointe vers /usr/src/linux-headers-uname -r. Supprime-le et recrée-le avec

Bizarre qu’il ne soit pas là, il fait pourtant partie du paquet linux-headers-.

ah je comprends ce que tu veux dire. Je m’étais posé la question mais tu mets le doigts sur le truc : le / à la fin… Zut, je n’ai pas pensé à ça. Je fais ça et je te dis ce que ça donne.

bien : j’ai corrigé :

Minimonstre:/lib/modules/2.6.26-1-686/build# ls
arch drivers init lib mm samples sound
block fs ipc linux-source-2.6.26 Module.symvers scripts usr
crypto include kernel Makefile net security virt
Minimonstre:/lib/modules/2.6.26-1-686/build#

Et… ca marche !
La compilation est en cours au moment où je t’écris.

Merci!
Un truc idiot et le monde entier s’écroule…

Ce n’est pas qu’une question de / à la fin. Si le répertoire ‘build’ existe, alors avec ou sans / le lien sera créé dans ce répertoire, donc c’est pas bon.

Ehn bien en principe, je dois obtenir ceci :

Minimonstre:/lib/modules/2.6.26-1-686# ls build
arch drivers init lib mm samples sound
block fs ipc linux-source-2.6.26 Module.symvers scripts usr
crypto include kernel Makefile net security virt
Minimonstre:/lib/modules/2.6.26-1-686#

La compilation est passée. J’ai redémarré et un iwlist me renvoie bien la liste des réseau dispo.

Ce n’est pas encore tout à fait ok : j’ai supprimé network-manager pour mettre wicd. Lorsque je clique sur “se connecter”, j’ai : “Ce réseau nécessite l’activation du chiffrement.” sans me proposer de barre pour pouvoir entrer ma clé wifi… bon, je vais manger… je ne vois pas ou s’active le bazar, mais ça ne doit pas être si compliqué.

PAr contre, dans système/administration, j’ai toujours “réseau”. J’ai activé le wifi par ce biais. Je ne sais pas si c’est un reliquat de network-manager ou c’est c’est la conf normale.

Bon, je pense que je suis sur le bon chemin.

Il y a mieux pour vérifier un symlink :

Au fait :

$ dpkg-deb -c linux-headers-2.6.26-1-686_2.6.26-12_i386.deb |grep /lib/modules.*build
lrwxrwxrwx root/root         0 2008-12-15 23:44 ./lib/modules/2.6.26-1-686/build -> /usr/src/linux-headers-2.6.26-1-686

Je savais bien que ce symlink était déjà dans le paquet linux-headers !

Pour le problème de wifi, il vaudrait peut-être mieux ouvrir un nouveau sujet.

ls -ld /lib/modules/2.6.26-1-686/build
lrwxrwxrwx 1 root root 35 jan 11 19:51 /lib/modules/2.6.26-1-686/build -> /sr/src/linux-headers-2.6.26-1-686
Minimonstre:/lib/modules/2.6.26-1-686#

:slightly_smiling:

je ne sais pas pourquoi le lien n’existait pas nativement. En revanche, ça doit arriver car j’avais trouvé un forum où l’on en parlait (de ce problème). C’est là que j’ai vu la solution de créer de lien (sauf que le mec avec mis le / à la fin de build… d’où mon erreur. Voilà ce qui se passe quand on recopie bêtement héhéhé).

Je vais voir si je trouve la solution pour le reste. Sinon new topic.

En tout cas merci!
Et bonne année, bien entendu :slightly_smiling:

C’est quoi ce /sr/ à la place de /usr/ ?

/lib/modules/2.6.26-1-686/build -> /usr/src/linux-headers-2.6.26-1-686

C’est une bonne question :slightly_smiling:

En fait, j’ai :
Minimonstre:/home/christian# ls -ld /lib/modules/2.6.26-1-686/build
lrwxrwxrwx 1 root root 35 jan 11 19:51 /lib/modules/2.6.26-1-686/build -> /usr/src/linux-headers-2.6.26-1-686
Minimonstre:/home/christian#

J’ai simplement mal copié la ligne.

Ah. Si c’est un copier/coller à la souris, c’est un exploit !

Baaaah il faut bien ça, pour la nouvelle année :slightly_smiling: lol.

Bon j’ai dégagé wicd… j’ai fait la configuration en ligne de commande, fais un ifup ra0 et là, je suis connecté en wifi.

La ligne de commande rules… Reste à voir si tout reste ok. Je vais redémarrer le système et voir le résultat. A priori, tout es ok de ce coté là. Si tout est bon, je fermerai le topic.

Bon, ca déconne… je ne sais pas pourquoi… encore une fois ça marche une fois et au redémarrage je n’ai rien - pas d’ip en wifi. Pourtant tout est ok, en principe : driver ok, mode association ok, etc…

Au dmesg, j’ai ça :
Minimonstre:/etc/network# dmesg | tail
[ 638.536902] MCS Set = ff ff 00 00 01
[ 638.538487] <==== RTMPInitialize, Status=0
[ 638.538559] 0x1300 = 00064300
[ 648.806071] ra0: no IPv6 routers present
[ 709.233287] ===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 533
[ 783.336845] ===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 533
[ 821.522998] r8169: eth0: link up
[ 821.523558] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 832.294502] eth0: no IPv6 routers present
[ 1082.329535] ===>rt_ioctl_giwscan. 3(3) BSS returned, data->length = 325
Minimonstre:/etc/network#

j’avoue que je ne sais pas ce que ça signifie. Bref, j’ouvrirai un autre topic tout à l’heure et je fermerai celui-là.