El SysAdmin del 3er Mundo

todo lo que expliqué mientras nadie prestaba atención

plymouth boot screen

| Comments

Sigo con mi plan de “civilizarme”, me he propuesto dejar de parecer un friki en materia de software. He cambiado i3 por MATE (en la máquina personal) e incluso tengo un tema en el grub. Intenté cambiar Atom por Vim, evolution por mutt y double-cmd por mc; pero por gusto, acabé virando pa atrá.

Una de las cosas que antes solía molestarme en las distros duras como debian, era el hecho de que no tuvieran una pantalla bien bonita mientras buteaban. Ubuntu por ejemplo, te pone las bolitas.

Archlinux es particularmente rápido buteando, pero aún tenía conmigo mismo la deuda del bootscren pendiente.

Resulta que ya splashy no se usa, ahora la talla es un software con nombre de almendrón: Plymouth

Plymouth, es una proyecto de fedora, para proveer una pantalla de buteo a nivel de framebuffer. Hoy en día casi todas las distros butean con el framebuffer en la máxima resolución posible, así que me imagino que Plymouth sea algo bastante simple.

En el repo de arch no está incluido pero como todo, está disponible en AUR. La rutina ya la conoces. Selecciona el que dice plymouth pelao.

“yaourt”
1
yaourt plymouth

Ahora vamos a cambiar unos parámetros en el generador de imágenes de inicio. Localiza el fichero /etc/mkinitcpio.conf y ahí vamos a cambiar unas cosillas.

Primero necesitaremos poner el HOOK para plymouth. La documentación advierte que debe ser después de base y de udev, así que mejor ponlo de último. Por tanto, dentro de las comillas colocarás plymouth como un objeto más de dicha lista; como el último.

“/etc/mkinitcpio.conf”
1
HOOKS="base udev fulanito menganito el_ultimo plymouth"

Nota para los imbéciles: Si copias y pegas el código anterior, el sistema no te arrancará más.

Necesitaremos el módulo apropiado para pinchar el framebufer. En mi caso, desgraciadamente, uso nvidia, así que me quedó así:

“/etc/mkinitcpio.conf”
1
2
3
MODULES="nouveau"
#MODULES="i915"
#MODULES="radeon"

Fíjate que los demás quedaron a modo de comentario. Te aclaro que i915 es para las tarjetas de video Intel.

Si usas el blob oficial de nvidia, te jodiste. Ni sigas leyendo.

Ahora tenemos que decirle al grub, que incluya el parámetro splash en la linea de buteo. Eso lo hacemos editando el fichero /etc/default/grub

“/etc/default/grub”
1
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Yo en lo personal suelo quitarle “quiet” porque me gusta ver lo que hace el sistema mientras butea. Aunque ya no da tiempo. Como te dije, los sistemas modernos butean MUY rápido. Es más el tiempo en que carga init o el display manager, que el de buteo como tal.

Más adelante veremos que hacer para que la pantalla se vea más tiempo, por ahora terminemos de configurar. Tanto el grub como initramfs, tienen que reflejar los cambios

“reflejando cambios”
1
2
grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -p linux

Si usas linux-lts, corre:

“reflejando cambios”
1
mkinitcpio -p linux-lts

Algo que suele molestar, es que el display manager te caiga en la cara de pronto. Arch suele manejar bien ese tema, pero por si acaso, nos aseguramos de habilitar la unit para cada display manager.

En mi caso yo uso slim y corrí:

“enable”
1
systemctl enable slim-plymouth.service

Puede que el tuyo sea:

  • gdm-plymouth.service
  • kdm-plymouth.service
  • lxdm-plymouth.service

Con eso ya debe estar listo para pinchar pero vamos a darle unos toquesitos finales.

El fichero /etc/plymouth/plymouthd.conf contiene los parámetros de configuración del mismo. El mío luce así:

“/etc/plymouth/plymouthd.conf”
1
2
3
4
5
6
[lazaro@artema ~]$ cat /etc/plymouth/plymouthd.conf
# Distribution defaults. Changes to this file will get overwritten during
# upgrades.
[Daemon]
Theme=tribar
ShowDelay=2

El parámetro ShowDelay, define que tiempo se mostrará la pantalla. Como ya te dije, arch a mi me butea en segundos. Si pones 5 ahí, la pantalla de buteo se mostrará cinco segundos. Dos buteando y otros tres pa que tu la mires mostrando su animación.

Yo cuando terminé de verla correr la primera vez; desinstalé plymouth. No me interesa tener 2 segundos adicionales de media por el mero hecho de que sea más bonito.

El otro parámetro, Theme, setea el tema que usarás. Para ver que temas tienes en el menú, corre:

“plymouth-set-default-theme”
1
2
3
4
5
6
7
8
9
10
[lazaro@artema ~]$ plymouth-set-default-theme -l
details
fade-in
glow
script
solar
spinfinity
spinner
text
tribar

A mi me gustó “tribar” y el que viene por defecto también está lindo, pero es una copia al carbón de MacOS.

OJO!

Cada vez que cambies un parámetro ahí, debes correr “mkinitcpio -p”

Ah! Una cosita, si en algún momento quieres ver lo que está haciendo el kernel por detrás de plymouth, presiona “home” mientras butea.

Eso es todo. ¡Reinicia!

Si no te queda bueno, al menos que te quede lindo.

Bill Gates

Si este artículo te resultó interesante, considere donar 0.003 BTC: 1LgL9cfT2StNk9gdedMJZseMnKJCEgQJdQ

Comments