OVH, société d’hébergement mutlualisé et de serveurs dédiés, fournit avec ses serveurs des Kernels Linux qu’ils personnalisent et compilent eux même (pour des raisons d’optimisation et de sécurité).
Cependant il arrive que ces kernels ne correspondent pas aux besoins utilisateur. Du coup il faut les recompiler (il s’agit donc de recompiler kernel ovh) si vous avez besoin de vous faire votre version. Alors attention c’est technique la compilation de kernel. Si vous ne maîtrisez pas, ne vous lancez pas ou alors bidouillez ça sur une machine que vous pouvez réinstaller à volonté.
Pour commencer, le mieux à faire est d’utiliser un fichier de configuration OVH que vous pouvez trouver sur le FTP suivant : ftp://ftp.ovh.net/made-in-ovh/bzImage.
Comment déterminer le bon fichier de configuration? C’est simple (enfin..) : si vous avez une machine en IPv4 avec un processeur 32 bits, le fichier générique se nomme 2.6-config-xxxx-std-ipv4-32 ( à vous ensuite de décliner / d’adapter selon vos besoins et votre configuration ).
Ensuite il va falloir aller chercher le kernel que vous voulez (actuellement en 2.6.30 pour les versions de test) sur le site Kernel.org. A l’heure actuelle, si on voulait compiler la toute dernière version on prendrait : http://www.eu.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.tar.bz2
Alors pour commencer , dans le terminal ( SSH ) vous allez vous placer dans le dossier /usr/src
cd /usr/src
Ensuite on va récupérer le kernel dont on veut. Par exemple celui cité au dessus.
wget http://www.eu.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.tar.bz2
On va décompresser l’archive..
tar xf linux-2.6.30.5.tar.bz2
Puis se placer dans le bon dossier
cd linux-2.6.30.5
Puis tapez la commande mrproper
On fait ensuite un wget du fichier de configuration, par exemple wget ftp://ftp.ovh.net:21//made-in-ovh/bzImage/2.6-config-xxxx-std-ipv4-32
On déplace ce fichier dans le dossier .config :
mv 2.6-config-xxxx-std-ipv4-32 .config
et on tape :
make menuconfig
Le menu suivant va s’afficher :
Il suffit de descendre son curseur jusqu’à « Load an alternate configuration file » puis d’appuyer sur Entrée puis de valider, le système propose par défaut d’utiliser .config , le dossier qu’on utilisait précédemment.
Validez. Si vous avez des modifications , faites les puis sauvegardez.
Ensuite tapez
make
puis la ligne suivante (à adapter)
cp arch/i386/bzImage /boot/le-super-kernel-2.6.30
Tapez ensuite :
vi /etc/lilo.conf
et adaptez la ligne qui spécifie l’image de boot afin d’obtenir quelquechose comme ceci :
image=/boot/le-super-kernel-2.6.30
Quittez et sauvegardez ( :wq dans VI ) puis tapez /sbin/lilo suivi de shutdown -r now
Votre système redémarre avec son nouveau kernel :-)
6 réponses sur « OVH : compiler un kernel personnalisé »
Bonjour,
Petite correction => make mrproper
Cordialement,
Flix.
Merci pour le tuto.
Serai-t-il possible d’avoir une nouvelle version, notamment avec grub2 (enfin, grub-pc)?
Merci! :)
Bonjour,
Très bon tutoriel.
Accessoirement, deux petits compléments :
1. La même que Flix :-) : make proper
2. Si l’on compile sur un serveur « neuf », il faut installer les paquets pour pouvoir compiler le noyau :
apt-get install gcc make ncurses-dev # pour les Debian, Ubuntu et consorts.
++
Je ne trouve pas le fichier de config pour le 2.6.38.2-grsec-xxxx-grs-ipv6-64.
Je ne vois que les config en xxxx-std.
ou puis je trouver ce fichier ?
les patchs disponible sur le ftp vont ils être intégrés automatiquement avec cela ?
Bonjour, , je ne sais pas du tout , désolé je n’ai plus de serveur dédié chez OVH en plus :(