Cómo Instalar y Configurar Plymouth en Slackware

Cómo Instalar y Configurar Plymouth en Slackware: Guía Completa

Plymouth Slackware

Cómo Instalar y Configurar Plymouth en Slackware: Guía Completa

En este tutorial, aprenderás a instalar y configurar Plymouth en Slackware. Plymouth es una herramienta para gestionar la pantalla de arranque, ofreciendo una experiencia de inicio visualmente atractiva. Sigue estos pasos detallados para integrar Plymouth en tu sistema Slackware.

Instalación de Plymouth y Dracut desde SBOPKG

Para comenzar, necesitamos instalar Plymouth y Dracut. Utilizaremos SBOPKG para gestionar estas instalaciones. Primero, asegúrate de tener SBOPKG correctamente configurado en tu sistema. Luego, ejecuta los siguientes comandos:

sbopkg -i plymouth
sbopkg -i dracut

Con estos comandos, instalarás las herramientas necesarias para continuar con la configuración de Plymouth.

Configuración de Plymouth

Una vez que Plymouth y Dracut estén instalados, es momento de configurar Plymouth. Vamos a añadir un nuevo tema llamado «slack» en la ruta /usr/share/plymouth/themes. Después, debemos modificar el archivo plymouthd.defaults en /usr/share/plymouth/.

Edita el archivo y déjalo de la siguiente manera:

# Distribution defaults. Changes to this file will get overwritten during upgrades.
[Daemon]
Theme=slack
ShowDelay=0
DeviceTimeout=5

Preparación del Initrd

Es crucial preparar el initrd para que Plymouth funcione correctamente. Cuando regeneramos el initrd, se compila dentro de la carpeta /boot/initrd-tree. Debemos añadir los binarios de Plymouth en esta carpeta.

Para evitar que se borre el contenido de initrd-tree durante la recompilación, modifica el archivo mkinitrd.conf.sample en /etc:
Después lo guardamos como un nuevo archivo llamado mkinitrd.conf en /etc:

# mkinitrd.conf.sample
# See "man mkinitrd.conf" for details on the syntax of this file
#
#SOURCE_TREE="/boot/initrd-tree"
CLEAR_TREE="0"
#OUTPUT_IMAGE="/boot/initrd.gz"
#KERNEL_VERSION="$(uname -r)"
#KEYMAP="us"
#MODULE_LIST="ext4 vmw_balloon vmwgfx ttm drm_kms_helper"
#LUKSDEV="/dev/sda2"
#LUKSTRIM="/dev/sda2" # verify support with 'hdparm -I $dev | grep TRIM'
#LUKSKEY="LABEL=TRAVELSTICK:/keys/alienbob.luks"
#ROOTDEV="/dev/sda1"
#ROOTFS="ext4"
#RESUMEDEV="/dev/sda2"
#RAID="0"
#LVM="0"
#UDEV="1"
#MODCONF="0"
#MICROCODE_ARCH="/boot/intel-ucode.cpio"
#WAIT="1"

Establecer CLEAR_TREE a «0» garantiza que los archivos no se eliminen. Luego, ejecuta el siguiente comando para añadir los binarios de Plymouth:

/usr/libexec/plymouth/plymouth-populate-initrd -t /boot/initrd-tree

Compilación del Nuevo Initrd

Con los binarios en su lugar, compila un nuevo initrd.gz:

mkinitrd -F

Esto crea un nuevo initrd.gz que incluye Plymouth.

Actualización de Grub

Es necesario actualizar Grub para reconocer el nuevo initrd. Edita el archivo grub en /etc/default/grub y añade la siguiente línea:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=0 plymouth:theme=slack"

Luego, regenera Grub para aplicar los cambios:

grub-mkconfig -o /boot/grub/grub.cfg

Configuración del Sistema de Inicio de Slackware

Slackware utiliza SysV como sistema de arranque. Necesitamos crear un script de servicio para Plymouth. Crea un archivo llamado rc.plymouth en /etc/rc.d con el siguiente contenido:

#!/bin/sh
# Este script maneja el inicio y apagado del servicio de Plymouth durante el arranque y reinicio del sistema.

exec >/dev/null 2>&1

start_plymouth() {
    /usr/sbin/plymouthd --pid-file=/run/plymouth/pid
}

stop_plymouth() {
    if [ -f /run/plymouth/pid ]; then
        pid=$(cat /run/plymouth/pid)
        if [ -n "$pid" ]; then
            kill "$pid" >/dev/null 2>&1
            rm /run/plymouth/pid >/dev/null 2>&1
        fi
    fi
}

show_plymouth_splash() {
    /usr/bin/plymouth --show-splash
}

hide_plymouth_splash() {
    /usr/bin/plymouth --hide-splash
}

case "$1" in
    start)
        echo "Iniciando servicio de Plymouth..."
        start_plymouth
        show_plymouth_splash
        ;;
    stop)
        echo "Deteniendo servicio de Plymouth..."
        hide_plymouth_splash
        stop_plymouth
        ;;
    restart)
        echo "Reiniciando servicio de Plymouth..."
        stop_plymouth
        start_plymouth
        show_plymouth_splash
        ;;
    *)
        echo "Uso: $0 {start|stop|restart}"
        exit 1
        ;;
esac

exit 0

Integración con Runlevels

Para que Plymouth se ejecute durante el arranque temprano, edita el archivo rc.S y añade la línea de inicio del servicio de Plymouth:

Al principio del archivo antes de que monte /proc añadimos

# Redireccionar todas las salidas a /dev/null para ocultarlas en la pantalla
exec > /dev/null 2>&1

Y al final de rc.S añadimos:

# Iniciar servicio de Plymouth
/etc/rc.d/rc.plymouth start

Configuración para Reinicio y Apagado

Crea enlaces simbólicos para los runlevels de reinicio y apagado:

ln -s /etc/rc.d/rc.plymouth /etc/rc.d/rc0.d/S00plymouth
ln -s /etc/rc.d/rc.plymouth /etc/rc.d/rc6.d/S00plymouth

Finalmente, edita el archivo rc.6 para incluir las llamadas de inicio y apagado de Plymouth:

# Set the path.
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin

# Stop Plymouth
if [ -x /etc/rc.d/rc.plymouth ]; then
    /etc/rc.d/rc.plymouth stop
fi

# Start Plymouth
if [ -x /etc/rc.d/rc.plymouth ]; then
    /etc/rc.d/rc.plymouth start
fi

Con estos pasos, tu Slackware ahora mostrará Plymouth en el inicio, reinicio y apagado. Disfruta de tu nueva pantalla de arranque con estilo.

Si tienes dudas de cómo hacerlo te dejo el vídeo donde lo explico detalladamente:

Sergi Perich
Últimas entradas de Sergi Perich (ver todo)

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.