Impossible de d'accéder à ma partition root

salut,

J’ai un gros souci, qui à commencé par un oubli de mot de passe user, je l’ai effacé et j’ai oublié d’en remettre un autre avant de stopper la machine.
Aujourd’hui impossible de lancer ma machine le boot bloque sur ce mesg

udevd [489] error getting signalfd
udevadm [490] connection refused

Ensuite il m’ouvre un shell initramfs.

il ne reconnait pas ou ne trouve pas mon /dev/sda5

mon partitionnement sda sda1 sda2 sda3

sda2 c’est mon home

merci d’avance

Je soupçonne que l’inaccessibilité de la partition racine n’est qu’une conséquence du plantage d’udev dont le rôle est d’énumérer le matériel et de charger les modules pilotes correspondants. Si tu connais les modules nécessaires à la gestion du contrôleur et du disque sda, tu peux le charger manuellement dans le shell de l’initramfs et poursuivre le démarrage.

Mais ça n’explique pas pourquoi udev plante. En tout cas je ne vois pas en quoi cela pourrait être lié à un mot de passe utilisateur. Une recherche rapide suggère une incompatibilité entre les version d’udev et du noyau. Quelles version de Debian, d’udev et de noyau ?

Merci de répondre, je suis complètement largué …

voila les infos demandées

[code]Linux version 2.6.26-2-amd64 (Debian 2.6.26-17lenny2) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Fri Aug 14 07:12:04 UTC 2009

Command line: root=/dev/sdb5 ro

udevd version 125 started [/code]

j’ai accès au log via un autre OS si il faut d’autres infos

Le problème est que là, c’est le udevd de l’initramfs qui tourne. Il faut peut être refaire l’initrd, c’est curieux tout de même car à ce stade, les changements faits sur la machine n’interviennent pas sauf un éventuel changement matériel ou de noyau. Le mot de passe n’a rien à voir avec cette histoire.

alors est-ce que pendant l’initramfs je peut faire cette commande?

mkinitrd -f /boot/initrd-$(uname -r).img $(uname -r)

je n’ai aucun changement de matériel à proprement parler.

J’ai deux disque et chacun est partitionné de façon à être autonome, j’ai juste rajouté un chainage de grub du premier vers le second et inversement…

Non, pendant l’initrd tu es sous un système de fichier minimal. Il faudrait faire un chroot sur la racine et éventuellement le refaire (tout en gardant une copie du vieux). Il serait intéressant de voir la date de création de l’initrd actuel.

si j’ai bien compris en faisant un

chroot /

je peux appliquer

ou il ya une autre méthode par rapport au fait que je sois en système de fichier minimal?

la dernière date d’accès au fichier c’est aujourd’hui, et la dernière modification c’est la dernière session que j’ai ouverte et ou tout fonctionnait

chroot / ne change rien, la racine n’est pas montée lorsque tu es sous initramfs. Il te faut regarder ce qui est monté, monter la racine sur un répertoire, faire un chroot, etc…

Ce n’est pas le même udev que celui du système ? C’est ce que j’ai toujours supposé puisque initramfs-tools dépend d’udev, mais sans jamais vérifier. En tout cas c’est la même version 0.125 qui est annoncée comme compatible avec les noyaux >= 2.6.18.

@ Yanos :
Si tu dois faire un chroot il faut le faire depuis un autre système GNU/Linux. Faire un chroot depuis l’initramfs n’a aucun intérêt puisque son but est justement de monter la racine. Mais pour ça avec modprobe il faut charger les modules nécessaires à la prise en charge du disque et de son contrôleur, que tu peux identifier avec les commandes lspci et lsmod sur l’autre OS en supposant que son noyau n’est pas très différent. Ensuite tu sors du shell de l’initramfs et le démarrage devrait se poursuivre. [EDIT] Je suggère de faire ça en mode single vu que si udev ne marche pas, d’autres choses risquent de ne pas marcher non plus.

Mais si ça marchait avant, si tu n’as rien installé de nouveau (notamment pas de backport ou de paquet non officiel) ni fait de mise à jour, je ne vois pas pourquoi ce problème se produit.

Note : ta version de noyau est obsolète et contient de graves failles de sécurité, la version actuelle est 2.6.26-19lenny2.

Encore merci à vous de m’aider
je suis dans une impasse…car c’est avec une etch ou une karmic koala que je peux faire le chroot .

en lisant le dmesg je peux savoir quels modules il faut charger???

j’ai un initrd.bak dans le dossier boot je peux l’utiliser comment??? parceque la impossible de le renommer.

autre chose qui me chifonne c’est que udev me dise que le /dev/sdb5 n’existe pas

Pas dans l’initramfs mais sous etch ou karmic oui, en supposant que le noyau ne soit pas trop différent du 2.6.26 et que les modules soient les mêmes. “lsmod” affiche la liste des modules chargés et “lspci -nn” fournit la liste des périphériques PCI dont le contrôleur disque, on devrait aussi pouvoir trouver les modules à partir de ça. Egalement voir dans les anciens logs du noyau enregistrés dans /var/kern.log de lenny, une fois la partition qui contient /var montée sous etch ou karmic.

Sauf erreur, ce n’est pas udev mais l’initramfs qui dit ça ; le rôle d’udev est seulement de charger les modules du noyau nécessaires pour que le disque soit reconnu comme /dev/sdb, avant que l’initramfs tente de la monter en tant que racine. Mais comme udev plante, les modules ne sont pas chargés et les /dev/sd* ne sont pas créés et la racine ne peut être montée.

j’ai du nouveau enfin… je me rappel avoir fait une mise à jour la dernière fois que j’ai utiliser la machine.
Je l’ai éteinte et pas réutiliser, donc je viens juste lancer un des anciens kernel et j’arrive à lancer ma session root mais udev plante avec toujours le même message d’erreur “error getting signalfd”.
N’empêche que j’ai accès à tout sauf au réseau impossible de faire détecter mon interface en vue d’une mise à jour.

Est-ce qu’il existe une commande pour refaire le kernel ou refaire le paquet qui contient udev sans passer par le net?

++

Ce serait intéressant de savoir quels paquets ont été mis à jour (fouiller dans les récents /var/log/dpkg.log*, /var/log/aptitude*… selon le programme utilisé pour faire la mise à jour). C’était quand ?

Pour le réseau, l’interface ethernet était détectée par udev donc pour la réactiver manuellement il faut charger le module correspondant. Pour l’identifier : http://kmuto.jp/debian/hcl/.

Quelle est la version de l’ancien noyau qui arrive à démarrer ? D’après ce que tu décris ma seule hypothèse est que son initramfs contient une ancienne version d’udev qui fonctionne (ainsi la partition racine est montée) contrairement à celui de la racine (d’où l’absence de réseau).

ça y est ça remarche un peu …

j’ai suivi ta procédure pour relancer le réseau, lors de mes tentatives de mise à jour j’ai vu que le paquet udev était cassé et finalement c’est la version 146 qui est installé et non la 125 contrairement à ce qui est contenu dans les logs.

[ 36.883669] udev: starting version 146 [ 36.883669] udev: missing sysfs features; please update the kernel or disable the kernel's CONFIG_SYSFS_DEPRECATED option; udev may fail to work correctly
pour résoudre ce souci je dois apparemment mettre à jour le kernel mais j’ai pas mal de msg d’erreur en faisant un upgrade.

j’ai besoin d’aide pour restaurer certains paquets proprement comment vous feriez ???

0.146 correspond à la versio d’udev dans squeeze, l’actuelle testing, alors que 2.6.26 est la version de noyau de lenny, l’actuelle stable. Avant tout il faudrait faire le point sur la situation : quelle est la version de Debian censée être installée, lenny ou squeeze ? Quelles sont les sources définies dans /etc/apt/sources.list, y a-t-il des mélanges ?

C’est bien la le problème, à la base je voulais une squeeze, je penses, j’ai taper dans un peu tout en utilisant le post-it dans trucs et astuces.

et j’ai du merder à un moment donné, je pense que je vais tout passer en sid

C’est l’ancien source .list causant les probs

[code]#

deb cdrom:[Debian GNU/Linux testing Squeeze - Official Snapshot amd64 NETINST Binary-1 20090409-21:51]/ squeeze main

#deb cdrom:[Debian GNU/Linux testing Squeeze - Official Snapshot amd64 NETINST Binary-1 20090409-21:51]/ squeeze main

deb http://ftp.fr.debian.org/debian/ squeeze main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ squeeze main non-free contrib

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

################################################

lenny

deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free

lenny multimedia

deb http://mirror.home-dn.net/debian-multimedia lenny main
deb-src http://mirror.home-dn.net/debian-multimedia lenny main

lenny security

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

volatile

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

################################################

squeeze

deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

squeeze multimedia

#deb http://mirror.home-dn.net/debian-multimedia squeeze main
#deb-src http://mirror.home-dn.net/debian-multimedia squeeze main

squeeze security

#deb http://security.debian.org/ squeeze/updates main contrib non-free
#deb-src http://security.debian.org/ squeeze/updates main contrib non-free

################################################

sid

deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free

sid multimedia

deb http://mirror.home-dn.net/debian-multimedia sid main
deb-src http://mirror.home-dn.net/debian-multimedia sid main

################################################

experimental

deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ experimental main contrib non-free

experimental multimedia

deb http://mirror.home-dn.net/debian-multimedia experimental main
deb-src http://mirror.home-dn.net/debian-multimedia experimental main

#25/09 modifs dépot_blind de sid pour install kino
#deverouilage de squeeze multimedia et sécurity[/code]

Et vla le fichier préf utilisé

[code]Package: *
Pin: release o=apt-build
Pin-Priority: 989

Package: *
Pin: release o=Debian,a=testing,l=Debian-Security
Pin-Priority: 988

Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing,l=Unofficial Multimedia Packages
Pin-Priority: 987

Package: *
Pin: release o=Debian,a=testing,l=Debian
Pin-Priority: 986

Package: *
Pin: release o=volatile.debian.org,a=stable,l=debian-volatile
Pin-Priority: 985

Package: *
Pin: release o=Debian,a=stable,l=Debian-Security
Pin-Priority: 984

Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable,l=Unofficial Multimedia Packages
Pin-Priority: 983

Package: *
Pin: release o=Debian,a=stable,l=Debian
Pin-Priority: 982

Package: *
Pin: release o=Unofficial Multimedia Packages,a=unstable,l=Unofficial Multimedia Packages
Pin-Priority: 99

Package: *
Pin: release o=Debian,a=unstable,l=Debian
Pin-Priority: 98

Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages
Pin-Priority: 97

Package: *
Pin: release o=Debian,a=experimental,l=Debian
Pin-Priority: 96[/code]

je passe tout en sid en ce moment même

edit

Le kernel reste en 2.6.26-2 , je n’y comprends plus rien.
J’ai laisser uniquement les dépots sid dans mon src.list, ça à tout mis à jour sauf le noyau.
ça à même marché avec le driver nvidia :confused: je ne comprends plus rien

j’ai vraiment foutu un bordel monstre

Concernant le panachage de versions et le bordel qui en résulte, je passe car ce n’est pas du tout mon rayon.

La non mise à jour du noyau peut s’expliquer : une mise à jour est le remplacement d’une version par une autre d’un même paquet, or linux-image-2.6.26-2-amd64 et linux-image-2.6.30-2-amd64 (au pif) sont deux paquets distincts donc il ne peut y avoir mise à jour de l’un vers l’autre. Pour installer un nouveau noyau, il faut soit l’installer explicitement, soit avoir installé un pseudo-paquet de dépendance linux-image-2.6-amd64 ou linux-image-amd64 qui dépend du plus récent noyau -amd64 disponible (mais lorsque la dépendance change je pense qu’il faut faire un dist-upgrade pour que le nouveau noyau soit installé).

voila c’est régler 2.6.31-1-amd64

installation manuelle , boot en moins de 20 secondes plus de msg d’erreur, c’est bon de mettre les main dans le cambouis :smiley:

merci :smt006