Compilation d'un noyau



Nous allons recompiler notre noyau, cela sert a rajouter le support d'une fonction, comme une carte video/reseau, ou d'activer le support du ntfs par exemple.
Mais surtout un noyau optimisé permet des gains de performances sur la machine, alors pourquoi ne pas en profiter :)


Commencons par recuperer le noyau sur le site kernel.org ( le dernier stable en cliquant sur le F pour Full )
Et mettons le au bon endroit.
mv linux-whatever.tar.bz2 /usr/src/
bzip2 -d linux-whatever.tar.bz2
tar -xvf linux-whatever.tar.bz2
dans ce rep soit vous avez un lien symbolique de linux vers un autre rep soit il n'y a pas de lien symbolique existant. dans le doute, on le supprime et on cree le lien symbolique vers les nouvelles sources du noyau.
rm -f linux
ln -s linux-whatever linux

Faisons maintenant le menage dans les sources, et commencont la config:
make mrproper
make menuconfig
Maintenant, vous avez cree le fichier .config que vous pouvez sauvegarder pour recreer le meme noyau plus tard par exemple.
Passons a la compilation en elle meme, il va vous rendre la main dans longgggtemps:
make all && make modules_install 


Vous avez un nouveau noyau de compilé!!!
reste a l'installer:
cp /usr/src/linux/arch/i386/boot/bzImage /boot/newnoyau
mcedit /etc/lilo.conf (lilo pour la slack)
Votre lilo.conf devrait ressembler a :
boot = /dev/hda 
message = /boot/boot_message.txt 
prompt 
timeout = 1200 
change-rules 
reset 
vga = normal 
default = Linux 
image = /boot/vmlinuz 
root = /dev/hda2 
label = Linux 
read-only
on va y rajouter:
image = /boot/newnoyau 
root = /dev/hda2 
label = newnoyau 
read-only 
puis modifier la ligne:
default = Linux en default = newnoyau 
il suffit maintenant de lancer lilo pour prendre en compte les changements:
lilo
Vous devriez voir les noms de vos noyaux avec une etoile sur celui par defaut, reboot (avec la commande reboot ;) ) et croisez les doigts :)

Précision, si vous voulez recommencer la config du noyau du debut, et pas recuperer la votre a chaque fois, il suffit de retapper
make mrproper
Voila :)