summaryrefslogtreecommitdiffstats
path: root/patches/dracut/dracut-lib.sh.patch
blob: b285a6b00ff95d1854328dfe39d99e09d6cd7d7b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 99cb9dbc..af3b62f3 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -1134,10 +1134,14 @@ emergency_shell()
         fi
         shift 2
     fi
-
-    echo ; echo
-    warn "$*"
+    if getarg splash; then
+      echo -en '\033[2J' > /dev/tty1
+    fi
+    {
+    # clear fbsplash
+    echo "$@"
     echo
+    } > /dev/tty1
 
     _emergency_action=$(getarg rd.emergency)
     [ -z "$_emergency_action" ] \
@@ -1150,6 +1154,16 @@ emergency_shell()
         source_hook "$hook"
         warn "$action has failed. To debug this issue add \"rd.shell rd.debug\" to the kernel command line."
         [ -z "$_emergency_action" ] && _emergency_action=halt
+        local delay=60
+        {
+        echo "FATAL - contact your bwLehrpool administrator."
+        while [ "$delay" -gt 0 ]; do
+          echo -e "System will ${_emergency_action} in $delay seconds or upon key press."'\e[1A\e[K'
+          (( delay-- ))
+	  sleep 1
+        done &
+        } > /dev/tty1
+        read -s -t 60 -n 1 bs < /dev/tty1
     fi
 
     case "$_emergency_action" in