kernel-panic

Résoudre le problème de Kernel panic

Kernel panic est une situation que la plupart des administrateurs Linux rencontre suite à une mise à jour ou installation d’un nouveau Kernel.

Pour bien comprendre l’erreur Kernel panic je vais vous présenter comment reproduire cette erreur et les étapes à suivre pour le résoudre.

Reproduire l’erreur de Kernel panic :

L’evironnement système utilisé :

[root@kernel_panic ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@kernel_panic ~]# uname -r
3.10.0-1160.24.1.el7.x86_64

Comme mentionné ci-dessous l’OS utilisé est CentOS 7.9 et la version du noyau : 3.10.0-1160.24.1.el7.x86_64

Réproduire l’erreur :

Pour ce faire, j’ai utilisé la commande « dd » pour remettre à zéro certains octets du fichier image initramfs :

J’ai fais cela dans un environnement de test, veuillez ne pas essayer cela dans un environnment de production

[root@kernel_panic ~]# dd if=/dev/zero of=/boot/initramfs-3.10.0-1160.24.1.el7.x86_64.img bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.0237766 s, 441 MB/s

Après redémarrage l’erreur kernel panic est affiché comme indiqué ci-dessous et le système d’exploitation n’a pas été chargé :

kernel_panic
kernel panic

Maintenant allons réparons cette erreur.

Réparation de l’erreur Kernel panic :

Etape 1 : Rebooter sur l’ancien le kernel rescue

Redémarrez votre machine et sélectionnez cette fois la ligne qui correspond au kernel rescue, il s’agit d’une image de secoure qui permet démarrer l’OS en cas de problème de démarrage.

A noter que pour CentOS 6 et les version antérieurs, Kernel rescue n’est pas disponible, RHEL 7 et versions ultérieures.

Etape 2 : Le fichier initramfs

Un fois démarré, connectez-vous avce le compte root :

Listez le contenu du répertoiree /boot, vous allez remarquer que la taille du fichier initramfs (initramfs-3.10.0-1160.24.1.el7.x86_64.img) concernant le kernel 3.10.0-1160.24.1.el7.x86_64 ( 10M) est plus petit que celui du kernel 3.10.0-1160.el7.x86_64.img :

initramfs-file

C’est normale vu que nous avons remis à zéro certains octets du fichier image initramfs.

Etape 3 : recréer le fichier initramfs

Nous avons besoin de créer un nouveau initramfs qui correspont à notre kernel.

Vérfiez d’abord la verison de votre Kernel :

Ensuite taper la commande i-dessous pour créer notre intramfs :

# dracut -f <imageinitrd-> <version noyau>

Et voilà notre image initramfs a repris sa taille :

initramfs

Redémarrez le système est choisissez le kernel correspondant :