miércoles, marzo 06, 2013

Solaris y reinicios continuos automáticos

Tengo una una Sun Blade 2000, con Solaris 10, que utilizo para probar portabilidad de programas y para no olvidar algunas de las cosas que conocía de Solaris. El caso es que tras resetear la máquina, no arrancaba, entrando en un bucle continuo de reinicios. Lo primero que me hacía sospechar es que por consola mostraba Hostname: unknown , seguía hacia delante comenzaba el fsck del sistema de fichero raíz y se reteaba sola tras escribir syncing file systems… done. Y a partir de ese punto entra en un bucle reiniciándose una y otra vez.

Tras buscar bastante por Internet y en diversos foros, di con Solaris boots to single user mode and reboots automatically, donde he encontrado la clave del problema: Todos los Unix tienen un directorio /dev, donde hay unos ficheros especiales que sirven para acceder a los dispositivos. Estos ficheros sirven de interfaces con los drivers de dispositivos del kernel. Uno de los archivos que hay es /dev/null, que en Solaris es un enlace simbólico a un fichero en el directorio /devices, cuando está correctamente creado. El caso es que en mi sistema faltaba dicho enlace, que de ser correcto sería similar a:


ls -al /dev/null

lrwxrwxrwx   1 root     root          27 mar  5 12:44 null -> ../devices/pseudo/mm@0:null


Tras arrancar con un CDROM y montar el sistema de ficheros raíz de la máquina que no podía arrancar, vi que, efectivamente dicho dispositivo no era correcto. Entonces, siguiendo las instrucciones que se detallan en el enlace anterior, usando devfsadm, comando usado para administrar las entradas de /dev/:


boot cdrom -s # En el prompt de la PROM

mount /dev/dsk/c1t1d1s0 /a # Montamos el disco. Esto depende de la controladoras que tenemos, los id SCSI y las particiones

devfsadm -Cv -r /a # Recreamos los enlaces

pkgchk -f -R /a # Corrige los atributos de fichero


De esta manera, el sistema volvió a arrancar sin problemas.


Technorati Tags:

No hay comentarios: