Votre question

[Tuto] Compiler son Kernel sous Ubuntu !

Tags :
  • Ubuntu
  • Système d'exploitation
Dernière réponse : dans Systèmes d'exploitation
30 Avril 2007 22:24:24

N'ayant pas trouvé de bon tuto récent, et en Français sur la recompilation d'un noyau sous Ubuntu, j'ai décider d'en creer un basé sur plusieurs sites Anglophone.

*Attention, avant toutes choses munissez vous de la liste COMPLÈTE du matos de votre PC.

À quoi ça sert de recompiler son Kernel ?
Recompiler son Kernel a plusieurs avantages:
*Enlever les modules dont vous n'avez pas besoin pour décharger le système, afin de le rendre plus performant.

*Savoir EXACTEMMENT quel modules sont installés sur votre Linux.

*Appliquer des patchs si besoin.

Compiler son Kernel, c'est dur ?
Oh oui, si vous n'avez pas un diplôme d'ingenieur informatique laissez tomber !
Meuuuh non, c'est très simple, à condition de savoir de quels modules nous avons besoin, et des quels nous n'avons pas besoin.

Compiler son Kernel, c'est long ?
La durée varie, la compilation est longue justement, au moment de la compilation ^^

Bon tu vas m'éxpliquer comment faire ou pas ?
Nous y sommes, voilà les étapes:

Passer en root:
Si vous n'avez pas envie de taper sudo à chaque fois, tapez:
  1. sudo su
pour vous logguer en root.

Installation des outils nécessaires à la compilation, et au telechargement du Kernel.
  1. apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential


On se déplace dans le répertoire des sources que l'on va téléchargées.
  1. cd /usr/src


Téléchargement, extraction des sources du kernel, et création du lien symbolique.
  1. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
  2. tar xjf linux-2.6.20.tar.bz2
  3. ln -s linux-2.6.20.tar.bz2
  4. cd /usr/src/linux



Alors là, on s'attaque au plus gros morceaux, le choix des options/modules.
Sur ce morceau je ne peut vous aider, puisque c'est à configurer selon votre materiel.
Voici la commande à taper afin d'afficher le menu de config.
  1. make menuconfig

Naviguer dans le menu avec Tab, les flèches et "Espace" pour cocher
Une fois que vous avez tout configurer, revenez au début du menu, et aller sur Exit.
L'installeur vous demandera alors de sauver la nouvelle config du noyau, repondez "Yes".

Compiler le kernel.
Déjà, faites un
  1. make-kpkg clean
pour nettoyer tout ça, ensuite
  1. fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
pour commencer la compil.

À partir de là, vous pouvez attendre une bonne heure (selon la vitesse de votre proco).

Installation du nouveau noyau.
Tapez
  1. cd /usr/src
afin de vous assurez d'être dans le bon repertoire.
Ensuite
  1. ls
.
Vous devriez voir apparaitre 2 paquets en .deb.
Si c'est le cas, suffit de faire
  1. dpkg -i le_nom_du_premier_paquet le_nom_du_deuxième_paquet

Vous attendez que l'install des deux paquets ce termine, normalement l'update de grub ce fait toute seule, vous rebootez et au boot quand le décompte grub se lance, appuyez sur "Esc" pour booter sur votre Kernel.

Problèmes...
*J'ai booter sur la nouvelle version de mon kernel, et la barre de chargement ne défile pas...
Vous avez surement du faire une erreur en choisissant les options ou modules, verifier votre config.

*Si votre kernel ne marche pas, au moment du grub, appuyez sur "Esc" et choissisez votre ancien Kernel.

Autres pages sur : tuto compiler kernel ubuntu

30 Avril 2007 22:39:10

Le premier à poster après le tuto! :D 
Bon, sans faire un long discours, je dirai tout simplement que c'est un très bon tuto qui servirai à pas mal de personnes comme on utilise largement Ubuntu.
Félicitations Moi123! ;) 
30 Avril 2007 22:56:19

Pour la compilation du kernel sous Ubuntu, se réferer aussi aux tuto Debian (par ex http://andesi.org/index.php?node=77 très bien fait).

Noter que des sources du noyau peuvent être téléchargées via apt-get aussi.

D'après ce que j'ai lu, certains conseillent de s'ajouter au groupe src pour avoir les droits d'écriture dans /usr/src et d'utiliser fakeroot pour compiler ou encore de télécharger les sources dans son répertoire perso.
Contenus similaires
30 Avril 2007 22:57:01

trés bonne idée ce tuto !

Prévoir quelques heures devant soi quand même...

Le plus marrant c'est quand on arrive à menuconfig ! ll y a un bon paquet d'options ! bon courage ! :lol: 

Peut être pourrais-tu donner les principales options à configurer, et lesquelles sont à mettre en dur ou en module.
Anonyme
1 Mai 2007 00:26:45

Mmmh j'ai du le recompiler sur les machines de la fac une fois : kernel panic
je me suis juré de pas essayé chez moi..
1 Mai 2007 00:41:32

ah le bon vieux kernel panic ! La rêve de tout linuxien, ça fait tout drôle la première fois : on est comme un idiot devant l'ordi sans savoir quoi faire...

je me rappelle de mon premier : je ne savais pas quoi faire, et tout paniqué comme mon noyau j'ai tout formaté !

Depuis j'ai toujours au moins 2 noyaux installés.
6 Mai 2007 11:14:03

C'est bien expliqué, mais je croit que je vais attendre d'avoir 2 PC avant d'essayer.
Anonyme
6 Mai 2007 13:35:50

Tiens leloup oO c'est toi que j'ai essayé d'aider sur irc pour ton sources.list ?
6 Mai 2007 14:06:27

Citation :
Tiens leloup oO c'est toi que j'ai essayé d'aider sur irc pour ton sources.list ?

Non, j'ai jamais demandé d'aide sur IRC encore (concernant ubuntu), j'ai toujours trouvé sur internet.
Anonyme
6 Mai 2007 14:08:58

Désolé au temps pour moi.
10 Juin 2007 11:38:14

Hips, j'édite, je viens juste de voir que j'ai fait une erreur !
Personne pouvait me prevenir ?

  1. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
  2. tar xjf linux-2.6.20.tar.bz2
  3. ln -s linux-2.6.20.tar.bz2
  4. cd /usr/src/linux

Remplacé par:
  1. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
  2. tar xjf linux-2.6.20.tar.bz2
  3. ln -s linux linux-2.6.20
  4. cd /usr/src/linux
10 Juin 2007 14:54:11

je viens de voir ce bon tuto,
je rajouterais juste à l'étape menuconfig qu'on peut récupérer la config actuelle du noyau dans:
/boot/config-`uname -r`

ce qui permet de ne pas se prendre la tete avec les options au cas ou on voudrait juste en rajouter une.


@moi123: pourquoi ne pas prendre les sources fournies par la distrib?
10 Juin 2007 15:17:00

Je dirai que ça permet d'avoir la dernière version du noyau, ce qui n'est pas forcement le cas avec les dépots des distro. ;) 
19 Août 2007 21:11:26

J'essaye dès que je retourne dans mon apart. Ya aucun Linux là ou je suis. J'espère pouvoir gagner un peu en vitesse :) .
10 Septembre 2009 20:57:41

Moi123@IDN a dit :
Hips, j'édite, je viens juste de voir que j'ai fait une erreur !
Personne pouvait me prevenir ?

  1. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
  2. tar xjf linux-2.6.20.tar.bz2
  3. ln -s linux-2.6.20.tar.bz2
  4. cd /usr/src/linux

Remplacé par:
  1. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
  2. tar xjf linux-2.6.20.tar.bz2
  3. ln -s linux linux-2.6.20
  4. cd /usr/src/linux


Il semble y avoir encore une erreur :p 

Le lien symbolique devrait être
  1. ln -s linux-2.6.20 linux

et non
  1. ln -s linux linux-2.6.20


Sinon, très bonnes explications !
15 Février 2011 17:41:28

Bonjour,

Tout d'abord merci pour ce tutoriel!

J'ai une question concernant cette partie:
Citation :
1. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.2...
2. tar xjf linux-2.6.20.tar.bz2
3. ln -s linux-2.6.20.tar.bz2 linux
4. cd /usr/src/linux


Lorsque j'exécute la dernière commande "cd /usr/erc/linux" un message d'erreur s'affiche à l'écran qui m'indique que linux n'est pas un dossier.. est-ce normal ?

d'avance merci
15 Février 2011 21:38:51

si tu as suivi bếtement, oui c'est normal
car un lien symbolique vers un fichier, n'est pas un dossier

ln -s linux-2.6.20 linux
cd /usr/src/linux
15 Février 2011 21:47:59

merci
26 Juillet 2011 15:36:02

Très bon tuto! merci ! :) 

j'ai enfin réussi à compiler un noyau !

Par contre j'ai eu un petit problème de permission, difficile pour les newbies dans mon genre.
un petit "chown mon_nom linux-2.6.X" avant la compilation arrange tout!!

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS