Comment installer son propre noyau sur le serveur racine ?

Cet article vous montre comment installer un noyau personnalisé sur votre serveur racine.

Préparation

Un noyau Linux spécialement créé par IONOS est installé à la livraison des serveurs racine. Vous pouvez installer votre propre noyau ou un noyau plus récent sur votre serveur basé sur ce noyau.

Pour la compilation ultérieure du noyau Linux, quelques outils de développement sont nécessaires, que vous pouvez installer comme suit en fonction de la distribution Linux utilisée :

yast -i make gcc # SuSE Linux
aptitude install make gcc # Debian ou Ubuntu Linux
yum install make gcc # Fedora ou CentOS 

Pour d'autres distributions Linux, veuillez consulter la documentation correspondante.

Créer un noyau

Pour compiler un nouveau noyau, vous devez d'abord télécharger le code source du noyau. La version actuelle est toujours affichée sur http://kernel.org . Veuillez vous assurer de télécharger la version complète et pas seulement le patch vers la dernière version.

Sous Linux, il est courant de sauvegarder le code source sous /usr/src. L'archive téléchargée et le code source décompressé sont donc également stockés sous /usr/src/.

cd /usr/src/
wget http://kernel.org/pub/linux/kernel/v3.0/linux-3.5.XX.Y.tar.bz2 

Le code source du noyau peut être décompressé après le téléchargement réussi avec la commande tar.

tar -xjpf linux-3.5.XX.Y.tar.bz2

L'ancienne configuration peut être utilisée comme base de sorte qu'il n'est pas nécessaire de saisir à nouveau tous les paramètres du noyau.

La configuration du noyau en cours d'exécution peut être obtenue à partir de /boot/config-3.5.XX.Y-YYYYYMMDD ou /proc/config.gz. Dans tous les cas, la configuration doit être sauvegardée sous forme de fichier.config dans le répertoire contenant le code source du noyau.

cp /boot/config-3.5.XX.Y-YYYYMMDD /usr/src/linux-3.5.XX.Y/.config
zcat /proc/config.gz > /usr/src/linux-3.5.XX.Y/.config 

Autrement, vous pouvez également extraire la configuration directement à partir d'un de nos noyaux offerts à partir de notre serveur de mise à jour. Pour ce faire, téléchargez d'abord l'archive avec le noyau souhaité, puis décompressez le fichier de configuration requis. Lors du téléchargement de l'archive, assurez-vous que l'architecture de processeur sélectionnée (x86 ou AMD64) correspond au processeur installé sur votre serveur.

wget ftp://update.onlinehome-server.info/local-updates/kernel/linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz 

Le contenu de l'archive est affiché avec la commande tar. Ensuite, nous n'avons plus qu'à décompresser le fichier de configuration et à le copier sous la forme .config dans le répertoire du code source du noyau.

tar tzvf linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz
tar xzvf linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz ./boot/config-3.5.XX.Y-YYYYMMDD
cp ./boot/config-3.5.XX.Y-YYYYMMDD /usr/src/linux-3.5.XX.Y/.config 

Après toutes ces opérations, l'ancienne configuration est adoptée. Le système de configuration du noyau ne demande maintenant que les nouvelles options. Tous les réglages déjà effectués sont acceptés.

cd linux-3.5.XX.Y
make oldconfig 

Le nouveau noyau peut alors être compilé et installé.

make all && make modules_install install

Le nouveau noyau et un lien symbolique vers lui, appelé vmlinuz, doivent maintenant se trouver dans le répertoire /boot.

Mettre à jour Bootloader

Selon le chargeur de démarrage utilisé (GRUB ou LILO), d'autres réglages doivent être effectués.

Pour LILO, vérifiez le fichier /etc/lilo.conf pour voir si le nouveau noyau a déjà été ajouté et ajoutez une entrée si nécessaire. Ensuite, le bootloader doit être mis à jour avec lilo -v.

Pour GRUB, vérifiez le fichier /boot/grub/menu.lst pour une entrée correspondante. Contrairement à LILO, aucune étape supplémentaire n'est nécessaire.

Remarque

Après avoir redémarré le système, vous pouvez utiliser la commande uname -a pour vérifier si le nouveau noyau a été chargé. En cas de problèmes lors du redémarrage, il est recommandé de suivre le processus de démarrage via la console série du serveur (si disponible).