diff options
Diffstat (limited to 'scripts/local-premount')
-rwxr-xr-x | scripts/local-premount/resume | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/scripts/local-premount/resume b/scripts/local-premount/resume new file mode 100755 index 0000000..63dcc49 --- /dev/null +++ b/scripts/local-premount/resume @@ -0,0 +1,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 |