vendredi 13 janvier 2012

Compilation du noyaux Linux 3.2 sous Debian 6.0


Que ce soit par simple curiosité ou par nécessité, on peut être amené à vouloir compiler le dernier noyau Linux du moment.
La documentation de Debian est particulièrement bien faite, certes, mais elle ne prend pas en compte les bugs que l'on est susceptible de rencontrer suivant les particularités des nouveaux noyaux.
Nous étudions ici le passage du noyau 2.6.32.39 au noyau 3.2

Avant de commencer nous devons installer quelques utilitaires:
# apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package make-kpkg

Pour commencer, plaçons-nous dans le bon répertoire:
# cd /usr/src

Ensuite on lance le téléchargement du noyau:
# wget www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.tar.bz2

On extrait l'archive:
# tar -xvf linux-3.2.tar.bz2 /usr/src/

Lancement de l'utilitaire de configuration du noyau:
# cd linux-3.2
# make menuconfig


Là un utilitaire nous permet de configurer le noyau, actuellement la seule façon d'éviter un abandon lors de la compilation est de désactiver tout ce qui concerne "lguest". Pour cela, appuyez sur la touche "/" afin d'effectuer une recherche du mot "lguest", vous verrez qu'il y a deux endroits où on le retrouve, il faut désactiver chacun d'eux. Une foi effectuée sortir avec la touche "Echap" et sauvegardez.

Maintenant nous nettoyons avant la compilation:
# make-kpkg clean

Et on lance la compilation:
# make-kpkg --rootcmd fakeroot --initrd --append-to-version=_kboo --revision=3.2 kernel-image

Vous pouvez à présent passer à une autre tâche, car la compilation peut durer plusieurs heures (selon  votre configuration)

Si tout va bien vous devriez obtenir:
# cd ..
# ls
linux-3.2    linux-image-3.2.0_kboo_3.2_i386.deb

Si ce n'est pas le cas, il faut changer des options dans le "menuconfig" selon le message que vous avez obtenu  et recommencer la manipulation à partir du nettoyage.


On peut à présent installer ce nouveau noyau:
# dpkg -i linux-image-3.2.0_kboo_3.2_i386.deb

Et redémarrer la machine (Grub est configuré automatiquement)

Si vous avez un "Kernel Panic" avec le voyant "CapsLock" clignotant cela signifie que vous devez changer des options dans le "menuconfig" et recommencer la manipulation à partir du nettoyage


Une foi démarrer vérifiez que le noyau est bien installé:
# uname -r
3.2.0_kboo

Félicitation ;)