Manque /usr/src/linux/include/linux/version.h

Fermé
jp - 11 mai 2005 à 22:01
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 - 11 mai 2005 à 22:56
Bonjour,

J'ai installé (mais en fait le problème est identique sans installer) une Knoppix, qui tourne d'enfer,... sauf que j'arrive pas à mettre le pilote de ma carte ATI.

J'ai suivi les différentes tutos, installé le kernel-header, le kernel source (2.6.11), décompressé la source, redidrigé le dossier "linux" vers ma source décompressé, mais rien ne change j'ai ce message:


./make.sh: line 52: [: 3: unary operator expected
ATI module generator V 2.0
==========================
initializing...
kernel includes at /usr/src/linux/include not found or incomplete
file: /usr/src/linux/include/linux/version.h


le dossier /usr/src/linux/include exite bien (car redirigé) mais pas le fichier, j'ai vu que pas mal de monde avait taté du même problème, si quelqu'un pouvait m'aider?
A voir également:

3 réponses

kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
11 mai 2005 à 22:17
Il faut prendre/installer exactement les kernel-sources de Knoppix pour que ca marche bien.

Si tu peux prend le kernel-source en tar.gz ou tar.bz2 depuis kernel.org ce n'est pas encore bien prepare pour avoir le "version.h". Dans ce cas il faudrait en principe faire:

1) Compiler et installer soi meme ce noyau avec une sequence de commandes comme:
make xconfig
make
make modules
make modules_install
...

2) Apres il faut demarrer le nouveaux noyau.

3) Apres on peut compiler le pilote en question.


Ce qui importe ici: la 1ere commande ci-dessus le "make xconfig" (ou de facon similaire "make menuconfig", "make config" etc.) cree le fichier version.h dont tu as besoin!

Apart ca il faut absolument que la version de ton noyau qui tourne actuellement (a voir avec "uname -r" ou "cat /proc/version")
soit exactement identique a la version des sources et ici c'est tout le baratin avec les patchs qui compte!! Par exemple: un truc comme 2.6.11-super-mandrake-129832473 serait different 2.6.11 ou meme
de 2.6.11-super-mandrake-129832474. C'est pour ca il faut d'abord compiler/installer ce noyau et demarrer avec.

Donc si tu ne souhaites pas recompiler toi meme le noyau il te faut chercher sur le cd Knoppix ou leur site ftp le bon paquet kernel-header ou kernel-source (de preference le dernier) pour exactement la meme version du noyau qui tourne chez toi. En principe dans les distributions les paquets kernel-sources sont bien prepares pour avoir le fichier version.h.
Par contre pour les paquets tar de kernel.org il faut au moins faire un "make xconfig" et je crois meme commencer la compilation avec "make" (et apres 1 minute on peut l'arreter avec Ctrl-C) et comme ca c'est bien prepare pour pouvoir compiler le pilote. Cependant le probleme de versions identiques reste toujours si on essaie comme ca!
0
Merci pour la réponse,

sur, j'ai les bonnes sources du kernel, c'est sur une base debian, le problème de sources est assez simple....

les paquets ne sont pas dans les sources du CD, mais j'ai trouvé ce qu'il me faut...

j'ai pas l'intention de recompiler le noyau et surtout c'est pas mon but, j'ai installé la knoppix plus par utilité, car je me suis fait une knoppix de dépannage pour le boulot. C'est plus pratique pour ma remasterisation d'avoir une version sur un DD... mais j'ai pas l'intention de toucher au noyau.

Par contre je vais potasser ton idée de créer moi meme le fichier "version.h" j'ai lu sur d'autres forum que certains l'avaient fait mais j'avais rien trouvé sur la méthode. Peut-être auras-tu un tuyau sur ou me renseigner.



Mais l'info m'est déjà bien utile. Merci.
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
11 mai 2005 à 22:56
Alors si tu es sur pour la bonne version, le plus simple c'est comme ca:

1) Eventuellement prendre le fichier config du noyau Knoppix ou debian par:
cd "repertoire_source"
cp /boot/config-<version>  .config

si effectivement dans /boot/ tu as une copie du fichier config.

2)
make oldconfig

(si 1 a bien marche c'est le plus simple,
sinon fais "make xonfig" ou "make menuconfig" et directement saufgarder et sortir).

3) Apres reessayer avec ton pilote. Si ca ne marche pas encore, tu reviens au repertoire source et tu fais "make" pour commencer la compilation. Tu attends un peu, 1 minute et apres tu arretes. Apres tu reessaie avec le pilote et ca devrait marcher!


--------
Pour l'explication: Avant dans les noyaux 2.4 il y avait une commande "make dep" entre "make xconfig" et "make" mais avec les noyaux 2.6 ca a ete mis ensemble avec le "make" et en fait il faut faire l'equivalent du "make dep" pour bien preparer les sources.
0