From 34bf3f52ff5fe245bd23e13c555e5df2981f3908 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Mon, 22 Jun 2020 16:25:24 +0200 Subject: [slx-splash] reactivate systemd messages if fbsplash fails --- modules.d/slx-splash/scripts/slx-splash-exam.sh | 4 ++-- 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 -- cgit v1.2.3-55-g7522