[Tuto] Compiler son Kernel sous Ubuntu !
Dernière réponse : dans Systèmes d'exploitation
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:
Installation des outils nécessaires à la compilation, et au telechargement du Kernel.
On se déplace dans le répertoire des sources que l'on va téléchargées.
Téléchargement, extraction des sources du kernel, et création du lien symbolique.
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.
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
À partir de là, vous pouvez attendre une bonne heure (selon la vitesse de votre proco).
Installation du nouveau noyau.
Tapez
Ensuite
Vous devriez voir apparaitre 2 paquets en .deb.
Si c'est le cas, suffit de faire
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.
*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:
pour vous logguer en root.
sudo su
Installation des outils nécessaires à la compilation, et au telechargement du Kernel.
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.
cd /usr/src
Téléchargement, extraction des sources du kernel, et création du lien symbolique.
wget <a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.2...</a> tar xjf linux-2.6.20.tar.bz2 ln -s linux-2.6.20.tar.bz2 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.
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
pour nettoyer tout ça, ensuite
make-kpkg clean
pour commencer la compil.
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
À partir de là, vous pouvez attendre une bonne heure (selon la vitesse de votre proco).
Installation du nouveau noyau.
Tapez
afin de vous assurez d'être dans le bon repertoire.
cd /usr/src
Ensuite
.
ls
Vous devriez voir apparaitre 2 paquets en .deb.
Si c'est le cas, suffit de faire
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
Lassé par la pub ? Créez un compte
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.
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.
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.
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.
Hips, j'édite, je viens juste de voir que j'ai fait une erreur !
Personne pouvait me prevenir ?
Remplacé par:
Personne pouvait me prevenir ?
wget <a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.2...</a> tar xjf linux-2.6.20.tar.bz2 ln -s linux-2.6.20.tar.bz2 cd /usr/src/linux
Remplacé par:
wget <a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.2...</a> tar xjf linux-2.6.20.tar.bz2 ln -s linux linux-2.6.20 cd /usr/src/linux
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?
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?
Moi123@IDN a dit :
Hips, j'édite, je viens juste de voir que j'ai fait une erreur !Personne pouvait me prevenir ?
wget <a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.2...</a> tar xjf linux-2.6.20.tar.bz2 ln -s linux-2.6.20.tar.bz2 cd /usr/src/linux
Remplacé par:
wget <a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.2...</a> tar xjf linux-2.6.20.tar.bz2 ln -s linux linux-2.6.20 cd /usr/src/linux
Il semble y avoir encore une erreur
Le lien symbolique devrait être
ln -s linux-2.6.20 linux
et non
ln -s linux linux-2.6.20
Sinon, très bonnes explications !
Bonjour,
Tout d'abord merci pour ce tutoriel!
J'ai une question concernant cette partie:
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
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
Lassé par la pub ? Créez un compte
- Contenus similaires :
- Forum[Topic unique] Tuto, installer Ubuntu Linux (en dual boot)
- Forum[tuto] Essayer Linux (Ubuntu)
- ForumProbleme compilation kernel
- Forummon compilateur gcc sous Ubuntu 6.10 ne marche pas [RESOLU]
- ForumCompil kernel 2.6.7 et pb module introuvable
- ForumProbleme de compilation kernel 2.6.4
- ForumProblème de kernel nvidia sous Ubuntu 7.04
- ForumCompilation de nouau sous ubuntu
- Forum[Tuto] Installer Xgl et Compiz sur (K)Ubuntu
.