[Résolu] Linux-header d'un noyau recompilé

Bonjour,

J’ai un petit problème avec le linux-header du noyau que j’ai recompilé.
J’ai compilé mon noyau en suivant les instructions du manuel Debian, après avoir configurer le tout, j’ai tapé la commande suivante :

Tout se passe bien, j’installe le .deb obtenu, je reboot sur mon nouveau noyau, tout marche parfaitement.
Le petit problème, c’est que je me suis aperçu hier en voulant inclure les drivers de ma webcam avec l’aide de module-assistant que je n’avais pas les linux-header correspondant à mon noyau.
J’ai cherché un peu dans la page manuel de make-kpkg puis j’ai trouvé cette commande :

Pareil que précédemment, tout se passe bien, j’installe le .deb et le linux-headers-2.6.25 se place correctement dans /usr/src

Je reprend ce tuto sur gspca, je fait :

Cette fois je n’ai plus d’erreur disant qu’il me manque le linux-headers, il commence à construire le paquet puis s’arrête en me mettant ce message d’erreur :

[code][…]

Build the module

/usr/bin/make -C /usr/src/modules/gspca KERNEL_VERSION=2.6.25 KERNELDIR=/usr/src/linux-headers-2.6.25

make[2]: entrant dans le répertoire « /usr/src/modules/gspca »

/usr/bin/make -C /usr/src/linux-headers-2.6.25 SUBDIRS=/usr/src/modules/gspca CC=gcc modules

make[3]: entrant dans le répertoire « /usr/src/linux-headers-2.6.25 »

/usr/src/linux-headers-2.6.25/arch/x86/Makefile:41: /usr/src/linux-headers-2.6.25/arch/x86/Makefile_32.cpu: Aucun fichier ou répertoire de ce type

make[3]: *** Pas de règle pour fabriquer la cible « /usr/src/linux-headers-2.6.25/arch/x86/Makefile_32.cpu ». Arrêt.

make[3]: quittant le répertoire « /usr/src/linux-headers-2.6.25 »

make[2]: *** [default] Erreur 2

make[2]: quittant le répertoire « /usr/src/modules/gspca »

make[1]: *** [binary-modules] Erreur 2

make[1]: quittant le répertoire « /usr/src/modules/gspca »

make: *** [kdist_build] Erreur 2[/code]

Es-ce que j’aurais oublié quelque chose dans la compilation des headers ?

hello,

???

Content de te lire Stonfi, il y avait longtemps. Grandes vacances ?

[quote=“stonfi”]hello,

???[/quote]

Le fichier n’existe pas, mais revanche il y a un Makefile normal.
Je n’ai absolument aucune idée de ce qu’est ce Makefile_32.cpu, donc je ne sais pas vraiment comment réagir fasse à cette erreur.

si tu a laisser la parvaistualisation ou guest (xen) refait ta compile sans. sa devrai passer :slightly_smiling:

J’ai déjà désactivé xen.
J’avais une erreur à la compilation, en cherchant un peu sur google j’ai vu qu’il fallait le désactiver.

En cherchant un peu plus d’infos sur ce Makefile_32.cpu, j’ai trouvé ce sujet : http://forums.debian.net/viewtopic.php?p=167561&sid=1cd7b5c2a0c060e902a39040e62c7261

J’ai fait les commandes suivante :

[code]cd /usr/src/linux-headers-2.6.25/arch/x86/
ln /usr/src/linux-headers-2.6.25-2-common/arch/x86/Makefile_32.cpu Makefile_32.cpu

cd /usr/src/linux-headers-2.6.25/include/
rm asm && ln -s asm-x86 asm[/code]

Apparemment, ça allait mieux, mais je me suis retrouvé avec cette erreur :

[...] MODPOST 1 modules /bin/sh: scripts/mod/modpost: Aucun fichier ou répertoire de ce type make[4]: *** [__modpost] Erreur 127 [...]

Et là je ne trouve pas comment m’en sortir.
J’ai vu quelqu’un parler de make modules_prepare, mais j’obtiens :

CHK include/linux/version.h CHK include/linux/utsrelease.h make[1]: *** Pas de règle pour fabriquer la cible « missing-syscalls ». Arrêt. make: *** [prepare0] Erreur 2

Et là je suis de nouveau bloqué.

Est-ce que la méthode utilisé pour contourner l’absence du fichier est correct ou il y a une méthode plus adaptée pour le faire ?

bon reprenon:

etch ?
kernel d’origine?
oldconfig ?
.config de qu’elle kernel?
charger comment ?
make menu config ou make xconfig ?

sinon j’utilise:

nice -n 19 make-kpkg --us --uc --append-to-version -001 --initrd buildpackage

et sa passe sans problème. je compile comme toi après le reboot. le module gspca car durant la compile sa ne ce fait pas …

J’ai une Debian Lenny 2.6.25
D’origine j’avais le kernel 2.6.24-1-686, j’ai chargé le 2.6.25-2-686 avec apt-get dist-upgrade, puis j’ai charger les sources du kernel 2.6.25 toujours avec apt.
J’ai utilisé make xconfig (pas de oldconfig vu que je n’avais pas d’ancienne configuration).

J’avais compilé le module madwifi en utilisant :

J’ai obtenu un .deb que j’ai installé juste après le noyau, avant de rebooter, et sur mon nouveau noyau j’avais bien le wifi qui fonctionnait.
Donc je suppose que si je vais sur mon ancienne version du noyau et que je fait la même commande pour gspca ça devrais marcher, mais je voudrais résoudre le problème sur mon noyau actuel plutôt que de le contourner.

essaye avec ceci

m-a a-i gspca-source

avidement tu a les source dans /usr/src :wink:

J’obtiens la même erreur qu’avant :

[...] MODPOST 1 modules /bin/sh: scripts/mod/modpost: Aucun fichier ou répertoire de ce type make[4]: *** [__modpost] Erreur 127 [...]

J’ai essayer de recompilé en faisant :

Puis j’ai réinstallé le paquet .deb contenant les headers.
J’ai fait les commandes suivante :

cd /usr/src/linux-headers-2.6.25/include/ rm asm && ln -s asm-x86 asm

J’ai relancé modules-assistant, et là tout marche, la construction du paquet et son installation.
Alors pourquoi ça n’a pas marché le première fois, je n’en ai aucune idée, j’avais sûrement du oublier quelque chose.

Merci de votre aide en tout cas. :slightly_smiling: