#!/usr/bin/env bash type warn &>/dev/null || source /lib/dracut-lib.sh init_drm() { # taken from dracut's plymouth module # first trigger graphics subsystem udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1 # first trigger graphics and tty subsystem udevadm trigger --action=add \ --subsystem-match=graphics \ --subsystem-match=drm \ --subsystem-match=tty \ --subsystem-match=acpi \ >/dev/null 2>&1 udevadm settle --timeout=180 2>&1 } if grep -wqE 'splash' /proc/cmdline; then # first init graphics init_drm # disable non-critical kernel messages echo "1 1 0 1" > /proc/sys/kernel/printk # disable systemd's status message on console # See: https://www.freedesktop.org/software/systemd/man/systemd.html#Signals kill -55 1 # clear console busybox clear # disable cursor echo -e "\033[?25l" > /dev/console # finally: if splashtool --center /opt/openslx/splash.ppm -b; then splashtool --reset /opt/openslx/icons else # fbsplash failed, most likely due to missing /dev/fb0 # -> reactivate systemd status messages kill -54 1 fi fi true