Noyau 2.6.19 et sup - Compilation des modules externes

Salut,

Si vous prenez les micro-astuces, j’en ai une bonne :

La plupart des modules extérieurs au noyau cherche le fichier …/include/linux/config.h pour pouvoir compiler. Or il a disparu depuis le noyau 2.6.19, autoconf.h prenant le relais.

Solution :

Remplacer dans les sources du module, les occurences de config.h (obsolète) par autoconf.h (compilera-t-il avec un noyau plus ancient, rien n’est moins sûr)

OU (ET…)

Créer (temporairement) un lien symbolique dans les sources du noyaux si vous ne voulez pas toucher au source des modules :

Etant donné que lors de la compilation, on se trouve dans le répertoire /usr/src/linux qui lui-même est un lien du répertoire /usr/src/linux-2.6.19.2 (par exemple), ne serait-ce pas plutôt :

[quote=“PengouinPdt”]Etant donné que lors de la compilation, on se trouve dans le répertoire /usr/src/linux qui lui-même est un lien du répertoire /usr/src/linux-2.6.19.2 (par exemple), ne serait-ce pas plutôt :

ln -s include/linux/autoconf.h include/linux/config.h

Oui mais pourquoi supposer qu’on s’y trouve ?? :mrgreen:

En fait, je voulais juste tronquer le début du chemin. J’aurai dû mettre … au lieu de …
Personnellement, je n’utilise pas /usr/src pour mettre les sources du noyau :wink:

[quote=“Bluenote”][quote=“PengouinPdt”]Etant donné que lors de la compilation, on se trouve dans le répertoire /usr/src/linux qui lui-même est un lien du répertoire /usr/src/linux-2.6.19.2 (par exemple), ne serait-ce pas plutôt :

ln -s include/linux/autoconf.h include/linux/config.h

Oui mais pourquoi supposer qu’on s’y trouve ?? :mrgreen:[/quote]
Parce que généralement, là que doivent être les sources linux, que c’est là qu’on apprend qu’il faut les mettre dans toutes les docs…

[quote]En fait, je voulais juste tronquer le début du chemin. J’aurai dû mettre … au lieu de …
Personnellement, je n’utilise pas /usr/src pour mettre les sources du noyau :wink:[/quote]
Parce que tu peux toujours choisir de faire différement :stuck_out_tongue:

Merci de l’info ! :mrgreen:

Ce n’est qu’une habitude très répandue. Linus Torvalds lui-même préconise de les mettre dans /home :wink: Voilà pourquoi, je n’ai mis que la fin (c’est à dire la partie intéressante)

Quoiqu’il en soit, où que soit la racine de tes sources, à partir du moment où tu te positionnes dans le répertoire racine de tes sources, ton astuce aura du mal à fonctionner …

à moins que là aussi, tu précises que tu en dehors, et donc il te faut préciser où tu te trouves :wink:

++

Pour l’instant, ça fonctionne pour mon module et pour d’autres d’après ce que j’ai lu sur la toile.
S’il y a un pb avec un module précis, je l’indiquerai ici.
As-tu essayé d’en compiler un, sans et avec cette manip ? Tout retour d’expérience est bénéfique
:wink: