#!/bin/sh PREREQ="" prereqs() { echo "$PREREQ" } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac if [ -z "${resume}" ]; then exit 0 fi case $resume in LABEL=*) resume="${resume#LABEL=}" # support any / in LABEL= path (escape to \x2f) case "${resume}" in */*) if command -v sed >/dev/null 2>&1; then resume="$(echo ${resume} | sed 's,/,\\x2f,g')" else if [ "${resume}" != "${resume#/}" ]; then resume="\x2f${resume#/}" fi if [ "${resume}" != "${resume%/}" ]; then resume="${resume%/}\x2f" fi IFS='/' newresume= for s in $resume; do newresume="${newresume:+${newresume}\\x2f}${s}" done unset IFS resume="${newresume}" fi esac resume="/dev/disk/by-label/${resume}" ;; UUID=*) resume="/dev/disk/by-uuid/${resume#UUID=}" ;; esac SWAPTYPE=$(wait-for-root "${resume}" ${RESUMEDELAY:-5}) case "${SWAPTYPE}" in swsuspend|s1suspend|s2suspend|ulsuspend|tuxonice) if [ -x /bin/plymouth ] && plymouth --ping; then plymouth message --text="Resuming from $resume" fi # hardcode path, uswsusp ships an resume binary too if [ -n "${resume_offset}" ]; then /bin/resume ${resume} ${resume_offset} else /bin/resume ${resume} fi ;; esac