Jump to content

Compiler son 1er noyau Linux


Recommended Posts

Bonjour,

Comme c'est très pratique de connaître son Linux pour mieux le gérer, je me suis lancé dans une nouvelle chose que je n'avais pas encore touché. J'ai fais quelques recerches sur le net pour savoir comment faire et lu quelques livres... mais lorsque ça ne marche pas comme spécifié, il n'y a pas vraiment d'aide.

Voici ce que j'ai comme info pour le moment et où je bloque:

1- Les pré-requis:

J'ai installé les paquetages nécessaires: kernel-source, kernel-headers, gcc, make, ncurces, ...

2- Je me positionne dans le dossier contenant le Makefile du noyau (/usr/src/kernel-2.4) *bon c'est vrai que ce n'est pas la dernière version... mais n'empêche que ça devrait fonctionner... c'est comme ça depuis que Linux existe :D

3- je tape la commande: make menuconfig pour lancer la configuration avec l'interface graphique de ncurse.

4- Je sélectionne les options désirés par Y/N/M.

5- Je termine avec un ESC, ESC et je choisis d'enregistrer la configuration.

6- J'ai un message me disant de lancer: make dep, ce que je fais !

7- Ensuite je ne sais pas trop quoi faire.... si je lance simplement make, je lance une compilation... mais je ne sais pas vraiment si c'est la bonne chose à faire... et le résultat où est-il et quoi je dois faire avec ... ?

SVP à l'aide !!! Merci

Link to comment
Share on other sites

Et juste pour info, "make dep" c'est sur les noyaux 2.4... c'est un peu dépassé... tant qu'à apprendre autant prendre 2.6 direct...

TuXXX, c'est le dernier noyau qui viens avec la distribution de mon Linux (2.4.20-28.7). C'est un serveur qui roule depuis quelque temps dans mon entreprise... je ne changerai pas de version de noyau juste pour le plaisir de le faire... si tout va bien avec ce serveur. C'est juste que j'aimerais mieux connaitre l'étendue des fonctions pour alléger le tout, améliorer les performances et je vais peut-être avoir à ajouter un nouveau périphérique bientôt qui peut nécessiter la recompilation du noyau pour le supporter.

Donc, est-ce que le "make dep" est uniquement pour les noyau 2.4 et moins ? Et avez-vous une idée de son utilité puisque ça n'existe plus avec les versions 2.6 ?

Merci

Link to comment
Share on other sites

ça doit être l'équivalent de make pour le noyau 2.6

D'après le manuel de gentoo, tu dois ensuite (après l'execution de make dep), tu dois faire make bzImage modules modules_install.

Après, tu copie /usr/src/kernel-2.4/arch/i386/boot/bzImage (/usr/src/linux/arch/i386/boot/bzImage si tu n'a pas oublié de faire un lien symbolique qui pointe vers les sources du noyau) dans /boot et tu mémorise le nom que tu lui a donné afin de configurer ton bootloader pour démarrer sur ne nouveau kernel (ou tu écrase l'ancien kernel qui était dans boot, mais si ça foire tu sera dans la merde).

Link to comment
Share on other sites

J'ai l'impression que tu est sous debian (à cause du make deb) dans ce cas je te conseil d'utiliser la commande:

fakeroot make-kpkg --initrd binary

A utiliser apres le make menuconfigure

Ca te sort quatre petits .deb (source,image,doc,et jl'autre je sais plus) à installer avec dpkg -i, ensuite tu peux les supprimer proprement avec apt, c'est vraiment bien comme technique.

P.S. Ton menu.lst est mis à jour automatiquement avec cette methode!

Link to comment
Share on other sites

J'ai l'impression que tu est sous debian (à cause du make deb) dans ce cas je te conseil d'utiliser la commande:

fakeroot make-kpkg --initrd binary

A utiliser apres le make menuconfigure

Ca te sort quatre petits .deb (source,image,doc,et jl'autre je sais plus) à installer avec dpkg -i, ensuite tu peux les supprimer proprement avec apt, c'est vraiment bien comme technique.

P.S. Ton menu.lst est mis à jour automatiquement avec cette methode!

Ce n'est pas make deb qu'il a mais make dep, perso pour apprendre à compiler un noyau vaut mieux le faire à la main, car tous les outils que l'on peut utiliser à côté sont en réalité que des concaténations des commandes que tu ferais déjà à la main ...

Link to comment
Share on other sites

Bonjour,

Pour un kernel 2.4 tu dois utiliser les commandes :

make dep pour créer les dependances des fichiers

make clean pour un petit nettoyage si besoin

make bzImage pour créer ton kernel

make modules pour compiler les modules

make modules_install pour installer les modules choisis dans /lib/modules/2.4.xx

Avant bien entendu tu auras renommé le repertoire /lib/modules/2.4.xx en /lib/modules/2.4.xx_old on ne sait jamais :cartonrouge:

une fois que tout est compilé (sans erreur !!!), il faut recopier le fichier /usr/src/linux/arch/i386/boot/bzImage dans /boot/vmlinuz-perso.

Apres tout ça il ne te reste plus qu'a modifier le fichier /etc/lilo.conf ou alors /etc/grub.conf en ajoutant la nouvelle entrée à la fin du fichier (prends exemple sur les entrées qui existent déja, tu remplace vmlinuz-2.4.xx par le tien vmlinuz-perso).

Quand tu as fait tout ça, si tu utilise lilo tu tape lilo -v (pour grub pas la peine) puis tu reboote.

Au démarrage tu choisis ton kernel à toi et tu fais une prière à ton dieu à toi aussi.

Si tout se passe bien tu devrais pouvoir avoir ton nouveau kernel sinon tu reboote avec l'ancien et tu recommence.

Salut.

Link to comment
Share on other sites

Bonjour,

Oui comme te le dit Guys, les commandes sont dans cet ordre et avant tu fais un make menuconfig ou alors un make xconfig si tu utilise un serveur X.

Le plus difficile c'est de bien choisir les options que tu veux mettre en module et celle que tu veux installer en dur dans ton kernel, renseigne toi bien sur le matériel qui est installé et sur celui que tu veux installer avant toute modification.

Tu peux aussi recupérer l'ancienne configuration comme base de départ, normalement tu devrais trouver dans /boot/ un fichier nommé config-2.4.xx ce fichier tu le copie dans ton repertoire /usr/linux/ et tu le renomme .config (n'oublie pas le point avant config) et ensuite tu fais ton make menuconfig.

Apres tu tape les commandes dans l'ordre (sans les commentaires :oops: ) et tout devrait rouler.

Salut.

PS: j'adore quand on m'appelle Grand Schtroumpf :pleure::transpi:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...