summaryrefslogtreecommitdiff
path: root/scripts/local-premount/resume
blob: bf23baf307b1217d6927257dbf7b1e1051a0fab0 (plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh

PREREQ=""

prereqs()
{
	echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
	prereqs
	exit 0
	;;
esac

if [ -z "${resume?}" ] || [ ! -e /sys/power/resume ]; then
	exit 0
fi

. /scripts/functions
. /scripts/local

if ! local_device_setup "${resume}" "suspend/resume device" false; then
	exit 0
fi

use_plymouth=false
if command -v plymouth >/dev/null && plymouth --ping; then
	use_plymouth=true
	plymouth display-message --text="Resuming from hibernation"

	# The above command does not wait for a framebuffer update to
	# complete, so the kernel can freeze the framebuffer before
	# the message is even visible.  Wait just a moment to make
	# that less likely.
	sleep 0.1
fi

# hardcode path, uswsusp ships an resume binary too
if [ -n "${resume_offset?}" ]; then
	/bin/resume "${DEV}" "${resume_offset}"
else
	/bin/resume "${DEV}"
fi

if "$use_plymouth"; then
	# plymouth hide-message does not work yet
	plymouth display-message --text=""
fi