diff options
| -rw-r--r-- | modules.d/slx-splash/scripts/slx-splash-exam.sh | 4 | ||||
| -rw-r--r-- | modules.d/slx-splash/scripts/slx-splash.sh | 16 |
2 files changed, 13 insertions, 7 deletions
diff --git a/modules.d/slx-splash/scripts/slx-splash-exam.sh b/modules.d/slx-splash/scripts/slx-splash-exam.sh index b2bf4f53..7a833a06 100644 --- a/modules.d/slx-splash/scripts/slx-splash-exam.sh +++ b/modules.d/slx-splash/scripts/slx-splash-exam.sh @@ -4,9 +4,9 @@ if [ -n "$SLX_EXAM" ]; then if [ -e "/etc/splash.ppm.gz" ]; then - systemd-preserve-process-marker /bin/busybox fbsplash -b -s "/etc/splash.ppm.gz" & + /bin/busybox fbsplash -b -s "/etc/splash.ppm.gz" & elif [ -e "/etc/splash.ppm" ]; then - systemd-preserve-process-marker /bin/busybox fbsplash -b -s "/etc/splash.ppm" & + /bin/busybox fbsplash -b -s "/etc/splash.ppm" & else echo "Splash screen requested, but not found in initramfs..." fi diff --git a/modules.d/slx-splash/scripts/slx-splash.sh b/modules.d/slx-splash/scripts/slx-splash.sh index 7381997b..601f45ce 100644 --- a/modules.d/slx-splash/scripts/slx-splash.sh +++ b/modules.d/slx-splash/scripts/slx-splash.sh @@ -1,13 +1,15 @@ #!/usr/bin/env bash show_splash() { + local ret=1 if [ -e "/etc/splash.ppm.gz" ]; then - systemd-preserve-process-marker /bin/busybox fbsplash -x -b -s "/etc/splash.ppm.gz" & + /bin/busybox fbsplash -x -b -s "/etc/splash.ppm.gz" + ret=$? elif [ -e "/etc/splash.ppm" ]; then - systemd-preserve-process-marker /bin/busybox fbsplash -x -b -s "/etc/splash.ppm" & - else - echo "Splash screen requested, but not found in initramfs..." + /bin/busybox fbsplash -x -b -s "/etc/splash.ppm" + ret=$? fi + return $ret } init_drm() { @@ -38,7 +40,11 @@ if grep -wqE 'splash' /proc/cmdline; then # disable cursor echo -e "\033[?25l" > /dev/console # finally: - show_splash + if ! show_splash; then + # fbsplash failed, most likely due to missing /dev/fb0 + # -> reactivate systemd status messages + kill -54 1 + fi fi true |
