Re: Debian kernel boot failure

Page principale

Répondre à ce message
Auteur: Olivier Allard-Jacquin
Date:  
À: guilde
Sujet: Re: Debian kernel boot failure
Bonsoir,

    je re-poste, suite au problème du serveur de la Guile.


Le 10/01/2023 à 13:33, ymartin59@??? a écrit :
> Bonjour
>
> Je joue de malchance en ce moment: un système Debian testing a dû

remplir son fs root / pendant un upgrade et cela semble avoir impacté
l'installation des kernels, selon mon hypothèse la plus probable... je
ne suis plus sûr de ce qui s'est passé car c'était il y a plusieurs
semaines dans une VM que je retourne souvent en hibernation, avant de
constater la semaine passée que le boot ne fonctionne plus.
>
> J'ai deux versions de kernel 5.19.0-2 et 6.0.0-6 mais les deux

échouent au boot avec "Failed to execute /init (error -2) Kernel panic -
not syncing: No working init found". J'ai consulté
https://docs.kernel.org/admin-guide/init.html mais je n'ai pas trouvé
d'explication spécifique au code de retour "-2"
>
> Je peux booter (par UEFI) le kernel du CD netinstall en mode "rescue"

- d'ailleurs je serais curieux de savoir s'il est possible de booter
complètement le système (et pas seulement un shell sur un montage en
chroot) en utilisant le kernel du CD (je pense me souvenir que Mandriva
proposait cette option "à l'époque"...) et ainsi essayer de corriger mon
système.

>
> J'ai tenté: - un update-initramfs et update-grub - installer un autre

kernel 5.18.0-4-amd64 depuis snapshot.debian.org - booter en
init=/bin/bash avec toujours le même résultat
> Mon GRUB n'a pas de configuration particulière, c'est le générateur

de Debian depuis des années. Mes partitions sont en LVM, GRUB UEFI
accepte bien set root=(lvm/vg01-root) et je peux ensuite faire un source
/boot/grub/grub.cfg pour éditer mes entrées... si seulement je savais ce
qui cloche.
>
> D'où peut provenir le problème ? J'ai vraiment besoin d'un coup de

main pour sortir de cette ornière... D'avance merci pour vos idées


     Ton système ne semble pas trop cassé, donc tu vas essayer ceci:
- boote sur un CD rescue de Debian


- passe en root

- tu dis que tu as un LVM, mais je pense que ton /boot est à part. Donc 
tu vas commencer par faire un fsck de ton /boot.
Si c'est de l'ext4:
     fsck.ext4 /dev/sdxx
voir, si il te dit qu'elle est clean, de forcer la vérification
     fsck.ext4 -f /dev/sdxx
- puis tu vas monter le "/" de ton LVM sur /tmp/target. Je ne suis pas 
un grand utilisateur de LVM, je ne l'ai utilisé qu'une fois pour une 
Debian chiffrée, mais d'après mes notes cela doit ressembler à çà:


pvs
vgscan
vgdisplay /dev/lvm
lvdisplay /dev/lvm

vgchange -ay /dev/lvm

A partir de là, tu devrais voir dans /dev/lvm/* tes différentes partitions.
Fais un fsck de chacune d'entre elles (voir ci-dessus).

Pour le montage:
mkdir /tmp/target
mount /dev/lvm/vg01-root /tmp/target

Il faudra aussi monter ton /boot si il est à part. Exemple:
mount /dev/sdxx /tmp/target/boot

Pareil pour ton /boot/efi
mount /dev/sdyy /tmp/target/boot/efi

un "mount" devrait te montrer
/tmp/target
/tmp/target/boot
/tmp/target/boot/efi

- maintenant on va préparer le chroot, en montant les périphériques
spéciaux:

     for I in dev proc sys; do mount -o bind /$I /tmp/target/$I


un "mount" devrait te montrer
/tmp/target
/tmp/target/boot
/tmp/target/boot/efi
/tmp/target/dev
/tmp/target/proc
/tmp/target/sys

- il ne reste plus qu'à chrooter:
     chroot /tmp/target


- bien, maintenant tu es dans "ton Linux cassé". Nous allons le réparer

- lance:
     dpkg -l|grep -v "^ii"
cela affiche si il y a des paquets à moitié installé. Ignore les paquets 
"rc"


- lance:
     dpkg --configure -a
afin de terminer l'installation des paquets qui sont à moitié installés


- ré-installe ton kernel:
     apt-get reinstall linux-image-amd64


voir, un kernel spécifique. Exemple:
     apt-get reinstall linux-image-6.0.0-6-amd64


- normalement la réinstallation du paquet fait le boulot, mais tu peux 
forcer la recréation du initramfs:
     update-initramfs -u -k all
je pense que cela doit suffire pour le kernel


- maintenant, occupons-nous de grub:
     update-grub2
     grub-install grub-install --target=i386-pc 
--boot-directory=/tmp/target/boot /dev/sda


- je pense que ce sera suffisant. Tu peux sortir du chroot:
     exit


- maintenant, il faut tout démonter:
     sync
     for I in dev proc sys; do umount /tmp/target/$I
     sync
     umount /tmp/target/boot/efi
     umount /tmp/target/boot
     umount /tmp/target


- puis tu termines le lvm:

sync
vgchange -an /dev/lbm
lvscan -v

- tu peux éjecter le live CD, et booter ta machine.

     Cordialement,
                         Olivier



-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
        /   / \  / \   \   Web:  http://olivieraj.free.fr/
       /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!