[Discussion] Recompilation de son kernel

A la demande de Jabba je met volontier ce tuto pour recompiler son kernel.

[edit]Les deux posts sont combiné dans une autre version. Un pdf viendra un peu plus tard[/edit]

Pour ceux qui n’ont pas accès a ashgenesis.debian-fr.net vous pouvez retrouver le site par là
daboog.zehome.com/~ashgenesis/

Pour récupérer le dernier noyau tout en restant en stable ou testing voir viewtopic.php?t=1728

C’est pas très compliquer pour recompiler son noyau et pas tres dangereux non plus car si ca ne va pas tu peux toujours revenir sur celui actuel puisque tu aura eu l’intelligence de ne pas le supprimer :slightly_smiling:

Je ne suis pas expert en recompilation de kernel mais j’en ai déjà fait 2 ou 3 et ça ne m’a poser encore qu’un problème c’est le passage au noyau 2.6.12 (pour mon wifi mais bon bref)

Quand j’ai débuter dans ma recompilation je suis venu me faire aider ici et j’ai retenu certaines choses dont je me suis fait un résumé pour recompiler sans trop de problème. Je fournis donc mon aide et je commente derriere

1. su - 2. password ************* 3. apt-get update 4. apt-get upgrade 5. cd /usr/src 6. apt-get install debconf-utils dpkg-dev debhelper (inutile si c'est déjà installer) 7. apt-get install build-essential kernel-package (inutile si c'est déjà installer) 8. apt-get install libncurses5-dev (pour le make menuconfig) 9. apt-get install linux-source-2.x.x 10. tar -xvjf linux-source-2.x.x.tar.bz2 11. ln -s linux-source-2.x.x linux 12. cp /boot/config-2.x.x /usr/src/linux/.config 13. cd linux 14. make menuconfig 15. load .config 16. modifier la config si necessaire et l'enregistrer 17. make-kpkg --append-to-version "custom-XXX" --initrd kernel_image modules_image kernel_headers 18. Aller boire un Café et plus si affinité 19. dpkg -i kernel-image-2.x.x
1 et 2 on se loggue sur le compte root :slightly_smiling:
3 et 4 on fait une upgrade de ses paquets comme ca on ne devrais pas etre trop embeter apres
5 on va dans le répertoire "src"
6, 7 et 8 on install les paquets nécessaires pour la recompilation du kernel (comme souligner inutile si ils sont déjà installé)
9 on install le dernier noyau source :slightly_smiling: ici c’est pour les version superieur a 2.6.11 pour les version jusqu’a 2.6.11 il faut faire unapt-get install kernel-source-2.x.x
10 on le détar
11 on crée le lien linux vers le répertoire du dernier noyau
12 on copie la config actuelle dans le répertoire du noyau comme ca pas de problème pour la suite
13 on rentre dans le répertoire
14 on lance la configuration
15 on charge la config actuelle du noyau qui a été copié
16 on la modifie si nécessaire et on enregistre
17 on lance la compilation. Le custom-XXX représente la personnalisation du nom du noyau car vous le compiler vous même vous mettez ce que vous voulez. Pour exemple on peux mettre

18 ben maintenant que l’on a le temps de se prendre un café ou une tisane
19 on installe le nouveau noyau reste plus qu’a rebooter

Et voila un nouveau noyau tout neuf

Pourquoi prendre les sources debian plutot que celles sur kernel.org

[quote=“MattOTop”][quote=“fsoumil”][quote=“MattOTop”]non: les sources de kernel.org sont à éviter, car elles ne sont pas préparées pour debian. Il faut les charger avec apt-get.
[/quote]
En quoi ces sources posent problèmes ? C’est toujours celles-là que j’utilisent et je n’ai jamais eu de problème…[/quote]
comme il est dit dans “Debian Linux Kernel HandBook” ( kernel-handbook.alioth.debian.org/ch-source.html ), la fabrication des sources debian noyaux sont patchées en plusieurs étapes:
1/prune-non-free, qui supprimme les parties sous license douteuse et les mets dans des paquetages à part (ca, c’est un peu precautionneux, et ca peut etre génant, mais bon),
2/installation de patchs variés spécifique debian, qui comblent des failles, OU FOURNISSENT DES FONCTIONNALITES SPECIFIQUES ESSENTIELLES POUR DEBIAN.
En fait, c’est cette dernière étape qui rend spécifique le noyau debian. Il y a des patchs “de sécurité” dont on peu se passer, mais il y a parfois des patchs essentiels pour la logique debian, comme le patch cramfs, qui est désormais intègré au noyaux kernel.org, mais qui a longtemps été nécessaire au bon fonctionnement des outils d’initrd debian.
Ca n’empêche pas de trouver des solutions “à la main” qui permettent de compiler des noyaux avec les sources kernel.org, mais autant rester en sources debian, que les equipes debian-kernel ne bossent pas pour rien… :laughing:[/quote]

Si vous avez un problème de clé avec gpg lors de la compilation vous pouvez rajouté les options -us -uc dans la commande de compilation comme argument. Astuce par MattOTop

c’est bien, mais qques remarques:

  • c’est quoi le 15 ? je n’ai pas cette commande “load” et pourtant, tous les paquets dont tu parles sont bien installés sur ma machine. Pour info, je n’en avais jamais entendu parler, et ca ne m’a jamais empêcher de compiler les noyaux.

  • pour info, dans le cas ou on souhaite appliquer un patch necessitant une configuration, il faut faire un
    export PATCH_THE_KERNEL=auto
    et remplacer l’etape 14 par un
    make-kpkg configure --config menuconfig --append-to-version “custom-XXX” --added-patches=
    il est important de mettre à ce moment là les mêmes options que celles qu’on va utiliser à l’etape 17.

  • indépendament de l’application de patch, si on a pas à retoucher le .config à la main (je n’ai personnellement jamais eu à le faire), les étapes 14-17 peuvent se faire en une passe, avec:
    make-kpkg --append-to-version “custom-XXX” --initrd kernel_image modules_image kernel_headers --config menuconfig

  • finalement, plutôt que de faire les cibles kernel_image modules_image kernel_headers, on peut simplifier et ne faire que la cible buildpackage qui fait les paquets demandés, plus un nouveau paquet de sources, avec les éventuelles retouches ou patchs déjà appliqués. C’est pratique pour retrouver les differences avec les sources originales, car il ne faut pas oublier qu’à la fin du make-kpkg, il désapplique les patchs…
    on peut donc dire que l’optimal pour compacter les étapes 14-17, c’est:
    make-kpkg --append-to-version “custom-XXX” --initrd buildpackage --config menuconfig

J’ai du mal m’expliquer ce n’est pas vraiment une commande load .config
en fait c’est dans le menu-config en bas je load toujours la config que j’ai exporter du boot de peur qu’elle ne soit pas mise automatiquement.

En tout cas merci pour ces précisions, je me coucherais moins con :laughing: :laughing: :laughing:

Je vais tacher de me refaire une aide comme celle que j’ai déjà faites mais en appliquant tes conseils. :wink:

AMHA les deux posts ensembles sont suffisants, mais si tu veux bosser :wink:

MattOTop, tu veux dire que l’option “buildpackage” te créé tous les packages nécéssaires ?

en 14, on peut aussi faire un make xconfig, pour utiliser une interface graphique Qt.

Il y a ce guide en anglais aussi, qui m’a bien aidé (et qui m’aide encore en fait) :
newbiedoc.sourceforge.net/system/kernel-pkg.html
Pour la dernière étape, comme le dit Ash, mettez bien l’option --initrd, c’est important si vous souhaitez que le nouveau kernel boot au démarrage.

Jabba: oui. et si tu veux connaitre toutes les cibles de make-kpkg, c’est make-kpkg --targets
Damsss: et donc dans ma “metapasse” 14-17, ca s’écrirait:
make-kpkg --append-to-version “custom-XXX” --initrd buildpackage --config xconfig

J’ai trouvé ce site, en français, pour nous aider à configurer le kernel 2.6 :
guide.andesi.org/html/moptions-noyau.html
C’est une aubaine pour s’y retrouver entre les options à mettre en modules (’.’) ou en dur (cochée).

Oui, il est plus à jour que celui que j’avais, je prends.

salut,
moi je suis vraiment bebete hein :stuck_out_tongue:
alors si je capte bien ici:
12 on copie la config actuelle dans le répertoire du noyau comme ca pas de problème pour la suite
je prend mon config “ancien” genre le 2.6.8 que j avait avant de vouloir compiler le 2.6.12 c’est ca ??
ca donne donc :
cp /boot/config-2.6.8 /usr/src/linux/.config

(je voudrais etre bien sur, car je croit que mon erreur est la)

C’est ça, mais plus la version que tu récupères est proche de celle que tu compiles, moins tu auras à retoucher quoi que ce soit.

en gros il faut mieu que je ne touche a rien :stuck_out_tongue:
j’ai quand meme une interrogation:
il me choisi pentium-pro dans la categorie processeur et il y a une case 6x86 (j’ai un i686) il ne vaut pas mieu que je change pour 6x86 ou je laisse comme c’est ?

et aussi le hight-memory-support dans proccesor type and featuring je vait le mettre a 64kB vu mon pross et mes 1024Mo de ram

Oui, si c’est vraiment un 686. c’est un peu normal que la config de ton noyau de distrib (j’imagine que c’etait le noyau installé au départ) soit fait pour un peu n’importe quel machine. Il faut effectivement optimiser, par exemple, en activant le SMP (symetric multi processing) pour profiter éventuellement de l’hyperthreading, si ton processeur le gère.
Les options que tu as récupèrées te garantisse un noyau qui fonctionne, mais aprés, il faut affiner et tester pour optimiser…
Et tu va voir il y a beaucoup d’options à tester…

Et quand on fait le ménage correctement, la taille de /lib/modules/nouveau-kernel est facilement réduite de 2/3 … :laughing:

Je viens de faire un make-kpkg --append-to-version "custom-XXX" --initrd buildpackage --config xconfig Et il m’a créer tout plein de paquet :laughing: :laughing:
des docs des images et tout et tout :slightly_smiling:

[quote="/usr/src/"]total 97408
drwxrwsr-x 8 root src 4096 2005-12-19 19:51 .
drwxr-xr-x 13 root root 4096 2005-10-15 19:06 …
-rw-r–r-- 1 root src 2951424 2005-12-19 19:45 kernel-doc-2.6.14-seal_10.00.Custom_all.deb
drwxr-xr-x 4 root root 4096 2005-06-10 08:02 kernel-headers-2.6.11-seal
-rw-r–r-- 1 root src 6839394 2005-12-19 19:51 kernel-headers-2.6.14-seal_10.00.Custom_i386.deb
-rw-r–r-- 1 root src 13033690 2005-12-19 19:49 kernel-image-2.6.14-seal_10.00.Custom_i386.deb
drwxr-xr-x 3 root root 4096 2005-11-10 12:35 kernel-kbuild-2.6-3
-rw-r–r-- 1 root src 9092 2005-12-19 19:45 kernel-manual-2.6.14-seal_10.00.Custom_all.deb
drwxr-xr-x 20 root root 4096 2005-11-04 14:54 kernel-source-2.6.11
-rw-r–r-- 1 root src 38349458 2005-12-19 19:45 kernel-source-2.6.14-seal_10.00.Custom_all.deb
-rw-r–r-- 1 root src 1672 2005-12-19 19:51 kernel-source-2.6.14-seal_10.00.Custom_i386.changes
-rw-r–r-- 1 root src 0 2005-12-19 19:51 kernel-source-2.6.14-seal_10.00.Custom_i386.changes.asc
lrwxrwxrwx 1 root src 19 2005-12-19 18:21 linux -> linux-source-2.6.14
drwxr-xr-x 20 root root 4096 2005-12-19 19:51 linux-source-2.6.14
-rw-r–r-- 1 root root 38281458 2005-12-09 01:32 linux-source-2.6.14.tar.bz2
drwxr-xr-x 3 root root 4096 2005-04-10 21:38 modules
-rw-r–r-- 1 root root 96199 2005-04-10 21:38 ndiswrapper-source.tar.bz2
drwxr-xr-x 7 root root 4096 2005-08-09 01:35 rpm
[/quote]La question que je me pose c’est qu’il m’a créer un paquet sources voir la ligne en rouge est ce que je doit desinstaller le paquets linux-source-2.6.14 avant d’installer le paquet kernel-source-2.6.14-seal_10.00.Custom_all.debles docs et manuel ne sont pas obligatoires?

non. Tu n’installes que le kernel-image et si tu le veux, les docs.
Les headers, c’est quand tu ne disposes pas des sources déployées, et le paquet sources c’est pour recompiler avec les sources telles qu’elles sont dans ton arborescence (on ne sait jamais, tu peux les avoir modifiées ou patchées).
Sinon, je remarques que tu n’a pas compilé en même temps ton ndiswrapper. Pour produire le paquet (ainsi que les autres modules eventuels), tu fais la même ligne de compil avec comme cible modules au lieu de buildpackage (et en enlevant le --config qui est inutile dans ce cas). Normalement, tu peux faire les deux en même temps.

:arrow_right:

[quote=“Anthropo”]question a deuzeuros:
pourquoi passez vous en su? on m’as toujours dit de ne pas bosser en root quand ce n’est pas nécéssaire.
le fait de mettre l’user dans le groupe src et d’utiliser la commande fakeroot n’est-il pas plus joli de ce point de vue?
la ligne de commande deviens donc
fakeroot make-kpkg clean
fakeroot make-kpkg ect…
on ne passe alors en su que pour le dpkg -i.

je sais, je megottes, mais je suis nouveau, je me fais un peu remarquer!
:smiley:
[/quote]Je suis d’accord avec toi il est plutot dangereux de faire ainsi mais c’est faisable :smiley: Ce n’est pas tres grave de le faire en root la puisque tu sais ce que tu fait :smiley:
Sinon pour ta méthode avec fakeroot c’est tout a fait faisable aussi avec sudo je vais voir si je ne peux pas améliorer/securiser tout ca[quote=“Anthropo”]
je ne suis pas convaincu de l’effet de la comande load… je n’en vois pas l’interet. il me semble que make menuconfig prend par defaut le fichier qui s’appelle .config dans le repertoire du noyau, donc a partir du moment ou tu en a copié un, tu a probablement ecrasé le precédent.
[/quote]Je suis d’accord aussi avec toi mais n’étant pas sur que make menuconfig prenne bien le .config je prefere le reloader au cas ou [quote=“Anthropo”]
remarque personnelle:
je compiles toujours mon kernel dans une console apres avoir arrété mon serveur X, plutot que dans un xterm. ça fait que le temps de la tisane (etape 17) est nettement reduit chez moi ! :unamused:[/quote]Je me souviens d’une compile que j’avais faites en mode console et ca avais durer pas mal de temps (tout depend de la machine) c’est pourquoi une petite pause ne fait pas de mal :smiley:
A default d’une tasse thé on peux prendre un verre d’eau un encas ou … ou rien :smiley:

Salut la compagnie !

Bon c’est mon tour d’essayer de compiler à la sauce Debian (je n’ai jamais réussi avec les docs précédentes… et comme je vais être honnête vous aurez le droit de vous marrer).

Le point 9 m’a posé un pb (je suis en stable) :

#aptitude search linux-source
#(rien)

et

#aptitude search kernel-source
kernel-source-2.6.11 (c'était le + récent)

Une recherche de package sur le site Debian me donne, pour linux-source :

pour kernel-source :

kernel-source-2.6.8 (le plus récent)

Bon, je décide de rapatrier le paquet source linux-source-2.6.15 depuis la sid et de le dpkg -i.

Ensuite, je fais tout sagement jusqu’au point 16 où je cherche en vain le module pour ma carte wifi Intel ipw2100. Dans la doc en ligne de cette carte, il précise :

Moi j’ai “Code Maturity Level Options” et rien d’expérimental, seulement :

[]Prompt for development and/or incomplete code/drivers
[
]Select only drivers expected to compile cleanly

De tte façon, tout est validé.

Pour le point 17 : je tape bêtement ‘custom-XXX’ (en me demandant ce que peut bien être ce costume XXX :wink: ) mais j’ai une réponse qui m’indique qu’il n’accepte que des alphanumériques, des + -, etc. Je vire les XXX et je lui mets 2.6.15 (ne me demandez pas pourquoi).
Là c’est “mieux” mais c’est le --initrd qui le fait douter de ma santé mentale (c’est dit très poliment et ça finit par “excusez-moi, vous savez sûrement ce que vous faites. oui/non ?”) Je réponds non, évidemment, puisque je suis largué depuis le début…
Bref je recommence sans le --initrd et là je vais boire un café (point 18 ) tout en jetant qq coups d’oeil terrifiés vers l’écran (point 18bis). D’ailleurs, j’ai eu droit à qq “deprecated” pour me faire comprendre que ma config du noyau était un peu ringarde.

Point 19 : je me gratte la tête un moment parce que je ne vois aucun .deb dans /usr/src/linux/. Je remonte d’un cran et là je trouve un “kernel-image-2.6.15-rc5custom-2.6.15_10.00.Custom_i386.deb” et un “kernel-headers-2.6.15-rc5custom-2.6.15_10.00.Custom_i386.deb” (je sais, c’est pas très beau). Je fais dpkg -i …image…
Il finit en me disant qu’il a modifier mon /boot/grub/menu.lst (et je suppose qu’il l’a installé, à tort) En fait, mon menu.lst actif n’est pas sur la partition Debian. Je rajoute les entrées qu’il a créées dans mon menu.lst actif.

Je redémarre, ça marche !

Seulement, ma carte wifi n’est pas installée et je tente une installation “externe” qui a marché avec le noyau 2.6.8. Mais après un ‘make’ dans le répertoire des sources de ce module, j’ai :

make -C /lib/modules/2.6.15-rc5custom-2.6.15/build SUBDIRS=/usr/local/bin/wifi/ipw2100-1.1.0 MODVERDIR=/usr/local/bin/wifi/ipw2100-1.1.0 modules
make[1]: Entering directory `/usr/src/linux-source-2.6.15-rc5'
  CC [M]  /usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.o
In file included from /usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.h:43,
                 from /usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:167:
/usr/local/bin/wifi/ipw2100-1.1.0/ieee80211.h:647: error: redefinition of `is_multicast_ether_addr'
include/linux/etherdevice.h:68: error: `is_multicast_ether_addr' previously defined here
/usr/local/bin/wifi/ipw2100-1.1.0/ieee80211.h:652: error: redefinition of `is_broadcast_ether_addr'
include/linux/etherdevice.h:79: error: `is_broadcast_ether_addr' previously defined here
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3404: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3411: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3418: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3425: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3623: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3663: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3752: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3752: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3786: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3806: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3902: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3945: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4014: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4014: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4056: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4056: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4109: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4109: attention : initialisation d'un type pointeur incompatible
make[2]: *** [/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.o] Erreur 1
make[1]: *** [_module_/usr/local/bin/wifi/ipw2100-1.1.0] Erreur 2
make[1]: Leaving directory `/usr/src/linux-source-2.6.15-rc5'
make: *** [modules] Erreur 2
zsh: exit 2     make

La doc m’oriente vers un patch construit pour les noyaux récents : ipw2100.sourceforge.net/patches/ … mpat.patch

Je reprends à partir du point 14 que je remplace par :

make-kpkg configure --config menuconfig --append-to-version "custom-2.6.15" --added-patches=[le_patch_que_j'ai_trouvé]

mais :

/usr/share/kernel-package/rules:1472: *** Could not find patch for ipw2100-1.1.0-compat.patch. Arrêt.
zsh: exit 2     make-kpkg configure --config menuconfig --append-to-version "custom-2.6.15"

Voilà, désolé d’avoir été si long. Si qqn a un ou 2 tuyaux… :wink:

[quote=“Bluenote”]Salut la compagnie !

Bon c’est mon tour d’essayer de compiler à la sauce Debian (je n’ai jamais réussi avec les docs précédentes… et comme je vais être honnête vous aurez le droit de vous marrer).

Le point 9 m’a posé un pb (je suis en stable) :

#aptitude search linux-source
#(rien)

et

#aptitude search kernel-source
kernel-source-2.6.11 (c'était le + récent)

Une recherche de package sur le site Debian me donne, pour linux-source :

pour kernel-source :

kernel-source-2.6.8 (le plus récent)

Bon, je décide de rapatrier le paquet source linux-source-2.6.15 depuis la sid et de le dpkg -i.
[/quote]Donc pour ça tu peux aller voir ce post forum.debian-fr.org/viewtopic.php?t=1728 j’explique comment avoir le dernier noyau tout en restant en stable :slightly_smiling:

Sinon au niveau des noms des sources les noms ont changés pour la version supérieur a 2.6.8 donc :
kernel-source <= 2.6.8
linux-source > 2.6.8[quote=“Bluenote”]
Ensuite, je fais tout sagement jusqu’au point 16 où je cherche en vain le module pour ma carte wifi Intel ipw2100. Dans la doc en ligne de cette carte, il précise :

Moi j’ai “Code Maturity Level Options” et rien d’expérimental, seulement :

[]Prompt for development and/or incomplete code/drivers
[
]Select only drivers expected to compile cleanly

De tte façon, tout est validé.
[/quote]Alors pour cela essaye de regarder dans les drivers réseaux je les ai vus lors de ma derniere compile mais je ne sais plus où (device driver/ networking/ …). Plus d’info la andesi.org/index.php?node=79[quote=“Bluenote”]
Pour le point 17 : je tape bêtement ‘custom-XXX’ (en me demandant ce que peut bien être ce costume XXX :wink: ) mais j’ai une réponse qui m’indique qu’il n’accepte que des alphanumériques, des + -, etc. Je vire les XXX et je lui mets 2.6.15 (ne me demandez pas pourquoi).
Là c’est “mieux” mais c’est le --initrd qui le fait douter de ma santé mentale (c’est dit très poliment et ça finit par “excusez-moi, vous savez sûrement ce que vous faites. oui/non ?”) Je réponds non, évidemment, puisque je suis largué depuis le début…
Bref je recommence sans le --initrd et là je vais boire un café (point 18 ) tout en jetant qq coups d’oeil terrifiés vers l’écran (point 18bis). D’ailleurs, j’ai eu droit à qq “deprecated” pour me faire comprendre que ma config du noyau était un peu ringarde.
[/quote]Il était bon le café??? j’ai la meme chose au niveau du deprecated mais bon c’est pas bien grave pour une premiere recompilation tu pourra optimiser tout ca apres :slightly_smiling: Surtout bien garder l’initrd et en ce qui concerne le custom-XXX c’est pour préciser que c’est une compile manuelle et pas une préfaite par debian c’est une personalisation si tu préfere j’ai mis custom-XXX parceque je le fait comme ca chez moi c’est -seal que je met ca donne donc make-kpkg --append-to-version "-seal" --initrd kernel_image modules_image kernel_headers Mais je te conseille de prendre la méthode de Matt qui est moins longue au niveau de la commande pour le reste c’est pareil

make-kpkg --append-to-version "-seal" --initrd buildpackage Ca te cree tout les packages nécessaires :slightly_smiling:

[quote=“Bluenote”]
Point 19 : je me gratte la tête un moment parce que je ne vois aucun .deb dans /usr/src/linux/. Je remonte d’un cran et là je trouve un “kernel-image-2.6.15-rc5custom-2.6.15_10.00.Custom_i386.deb” et un “kernel-headers-2.6.15-rc5custom-2.6.15_10.00.Custom_i386.deb” (je sais, c’est pas très beau). Je fais dpkg -i …image…
Il finit en me disant qu’il a modifier mon /boot/grub/menu.lst (et je suppose qu’il l’a installé, à tort) En fait, mon menu.lst actif n’est pas sur la partition Debian. Je rajoute les entrées qu’il a créées dans mon menu.lst actif.

Je redémarre, ça marche !

Seulement, ma carte wifi n’est pas installée et je tente une installation “externe” qui a marché avec le noyau 2.6.8. Mais après un ‘make’ dans le répertoire des sources de ce module, j’ai :

make -C /lib/modules/2.6.15-rc5custom-2.6.15/build SUBDIRS=/usr/local/bin/wifi/ipw2100-1.1.0 MODVERDIR=/usr/local/bin/wifi/ipw2100-1.1.0 modules
make[1]: Entering directory `/usr/src/linux-source-2.6.15-rc5'
  CC [M]  /usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.o
In file included from /usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.h:43,
                 from /usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:167:
/usr/local/bin/wifi/ipw2100-1.1.0/ieee80211.h:647: error: redefinition of `is_multicast_ether_addr'
include/linux/etherdevice.h:68: error: `is_multicast_ether_addr' previously defined here
/usr/local/bin/wifi/ipw2100-1.1.0/ieee80211.h:652: error: redefinition of `is_broadcast_ether_addr'
include/linux/etherdevice.h:79: error: `is_broadcast_ether_addr' previously defined here
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3404: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3411: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3418: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3425: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3623: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3663: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3752: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3752: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3786: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3806: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3902: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:3945: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4014: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4014: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4056: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4056: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4109: attention : initialisation d'un type pointeur incompatible
/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.c:4109: attention : initialisation d'un type pointeur incompatible
make[2]: *** [/usr/local/bin/wifi/ipw2100-1.1.0/ipw2100.o] Erreur 1
make[1]: *** [_module_/usr/local/bin/wifi/ipw2100-1.1.0] Erreur 2
make[1]: Leaving directory `/usr/src/linux-source-2.6.15-rc5'
make: *** [modules] Erreur 2
zsh: exit 2     make

La doc m’oriente vers un patch construit pour les noyaux récents : ipw2100.sourceforge.net/patches/ … mpat.patch

Je reprends à partir du point 14 que je remplace par :

make-kpkg configure --config menuconfig --append-to-version "custom-2.6.15" --added-patches=[le_patch_que_j'ai_trouvé]

mais :

/usr/share/kernel-package/rules:1472: *** Could not find patch for ipw2100-1.1.0-compat.patch. Arrêt.
zsh: exit 2     make-kpkg configure --config menuconfig --append-to-version "custom-2.6.15"

Voilà, désolé d’avoir été si long. Si qqn a un ou 2 tuyaux… :wink:[/quote]j’espere t’avoir éclairci c’est quelques points obscure :slightly_smiling:
Je doit partir je continuerai de t’aider une fois revenu Bon courage