/bin/cat: /sys/block/hda/dev: No such file or directory
Hoy algunas soluciones a posibles errores que pueden surgir al iniciar un sistema Debian.
Hace un tiempo actualizaba yo tranquilamente mi LINUX-kernel en Debian con uno de los paquetes de la distribución, ya que soy un vago y no me apetece estar compilando cada LINUX-kernel en cuanto que hay un cambio, y me gusta tener el sistema actualizado.
Tarea habitual, como muchas otras veces había llevado a cabo, pero al reiniciar me aparecía un pequeño problema en forma de error en pantalla:
…
Arranque habitual hasta que
…
VFS: Cannot open root device "hdg3" or unknown-block (0,0). Please append a correct "root=" boot option. Kernel Panic - not syncing: VFS: unable to mount root fs on unknown-block (0,0) /bin/cat: /sys/block/hda/dev: No such file or directory
(donde “hdh3″ dícese del dispositivo y partición que contiene el kernel y que además no se encuentra)
El problema es que para los kernels >= 2.6.12 (superiores o iguales a) hay que utilizar yaird (Yet Another mkInitRD).
El problema mayor venía de que no tenía ningún kernel anterior al 2.6.12, porque el sistema de dispositivos udev requería versiones superiores a la 2.6.12, creo recordar, y borré las versiones anteriores. Craso error, amigos lectores, tenía un sistema que no arrancaba por falta de alternativas. Creo que este es el coste de “vivir” con unstable y de no haber sido precavido.
Pero como dicen los algunos,
todo tiene solución, menos la muerte (hasta hoy, claro ;=) )
La primera parte consistía en arrancar una shell de BASH como fuera, para empezar a hacer diagnósticos y remiendos. Con estos remiendos conseguía arrancar el sistema con un kernel. Con el sistema arrancado instalaba yaird, y actualizaba el sistema con apt, que parecía traer una nueva versión del kernel LINUX corrigiendo el bug que me afectó.
Para todo esto comenzaba con iniciar una bonita distribución Live CD, de Ubuntu en este caso en mi ordenador.
briconsejo:
Si a alguien le interesa probar Ubuntu, lo pides en su página web y te los envían por correo en un mes aproximadamente gratuitamente.
Una vez con este entorno provisional procedía al montando del sistema de archivos de la partición del disco duro afectado de “carencia de kernel funcionando”.
A trancas y barrancas copiaba el contenido básico de un paquete .deb del kernel LINUX y actualizaba el menu.lst de GRUB y ya no recuerdo si por si acaso hice el initrd con el yaird (lo instale en la Ubuntu temporal). El contenido básico consiste en los archivos que van en /boot y los que van en /lib/modules.
Solución a lo del arranque:
1. Añadimos a /etc/yaird/Default.cfg:
MODULE ide-generic MODULE ide-disk
2. Creamos la nueva image de initrd:
# rm /boot/initrd.img-2.6.14-2-686 # yaird -v -o /boot/initrd.img-2.6.14-2-686 2.6.14-2-686
El caso es que hace tiempo que se resolvió el problema, que se debió resolver con algún bug de los paquetes .deb.
Moraleja
Ahora tengo en todos los sistemas que administro unas 3 versiones distintas y funcionando del kernel LINUX (2.6.8, 2.6.12 y 2.6.15).

Últimos comentarios