summaryrefslogtreecommitdiffstats
path: root/scripts/local-premount/resume
blob: 63dcc4961695a3bff33b3423c6b5fb7470b9073b (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
#!/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

if [ "$(get_fstype "${DEV}")" = suspend ] &&
   command -v plymouth >/dev/null &&
   plymouth --ping; then
	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