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é :
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 :
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 :
Redémarrez le système est choisissez le kernel correspondant :
7zip: 9 Commandes utiles de les plus utilisés
Migrer CentOS 7 vers Rocky Linux 9
Comment installer Docker sur Rocky Linux 9
mkfs : Création des systèmes de fichier
Fail2Ban : How to protect Linux services