20 ago 2012

Visualizar la pantalla de GRUB y ver el inicio del sistema detallado en Fedora / CentOS / SL / RHEL

Es a raiz de un comentario que hicieron aqui, que decido hacer esta entrada.
El comentario radica en que al añadir el repositorio elrepo, para kernel nuevos o bien si usan un kernel compilado, siempre vuelve a iniciar con el kernel que tenia y no el nuevo.



Esto tiene una explicacion y una solucion.

Explicacion:

Un kernel nuevo, significa cosas nuevas, que pueden ser o no compatibles con el hardware y software, y por lo tanto ocasionar errores, es por ello, que RHEL, mas que Fedora, cuando actualiza un kernel, por lo general, inicia con el mismo kernel anterior, a menos que se seleccione el nuevo kernel en el menu de grub, o se especifique en /boot/grub/menu.lst que bootee con el kernel 0, que siempre es el primero de la lista y el ultimo instalado.

Arreglo:

Esto se arregla muy facilmente, tenemos que editar el fichero /boot/grub/menu.lst, y comentar (en entornos *nix, Unix, Linux, etc, comentar es colocar un # delante de una linea, dejando sin efecto la misma y no será leida), los siguientes parametros:

hiddenmenu: Este parametro, oculta el menu de GRUB al inicio, por lo cual muchos no saben como acceder y seleccionar el kernel o bien editar el cmdline, comentandolo, tendran un menu

splashimage: Esto lo que hace es colocar una imagen de fondo en el menu del grub, pueden dejarlo o sacarlo, yo personalmente lo saco, dado que me gusta ver blanco sobre negro

rhgb: Esto es un parametro que veran en la linea del kernel, e indica que se va a usar plymouth para el inicio, asi que no veran el inicio de procesos, sino alguna animacion o un logo, borrando eso de la linea del kernel, podran ver el inicio, ya sea systemd, upstart o lo que sea.
Al eliminarlo, la proxima actualizacion de kernel o bien un kernel compilado, dracut, que es el creador de initramfs de sistemas RHEL, asi como grubby el encargado de modifcar los templates del grub, tomaran el dato anterior, y como hemos borrado rhgb, no lo volverá a poner nunca mas.

quiet: Esto es otro parametro de kernel, que es el cmdline, lo eliminamos, y tendremos un inicio mas detallado y verboso sobre el inicio del kernel, asi completamos el paso anterior, y vemos un inicio detallado, es util por si hay errores o algo que llama la atencion.

default: Esto indica a GRUB, el orden por defecto de inicio de kernels. El kernel mas nuevo siempre es el primero en la lista, y el numero es 0, no 1. Como explique antes, este valor, por mas que se actualicen kernel, queda en 1, asi siempre inicia con el kernel anterior, o sea, el segundo en la lista, asi que si queremos no tener que andar moviendo las flechitas en cada inicio, en cada cambio de kernel, colocamos un 0 en el valor default de /boot/grub/menu.lst

timeout: Este valor, le dice a GRUB, cuanto debe esperar, antes de dar inicio al kernel que tiene seleccionado, es decir, ingresar algo para modificar el inicio, seleccionar otro kernel, etc, esto yo al menos lo tengo en 2, dado que tengo 2 segundos para moverme de kernel o tocar algo antes de que se inicie solo.

Bien, ahora ya no quedan dudas y esta mas que explicado, el como y porque inicia el kernel anterior en sistemas RHEL o clonicos, y como solucionarlo / modificarlo.

3 comentarios:

krel dijo...

Muy interesante. Siempre he tenido dudas con el parámetro nomodeset.
¿Realmente que sucede en el kernel cuando lo utilizamos?
Es que lo he tenido que utilizar en varias ocasiones y aunque me he intentado documentar nunca he entendido el trasfondo de lo que hace.

SynFlag dijo...

nomodeset lo que hace es desactivar el modo en el que el kernel
es el que cambia la resolución a modo gráfico al arrancar el sistema
(en vez de ser el X server)

krel dijo...

Gracias, ya lo tengo claro, muy conciso.