2009-10-09 03:11:09 +02:00
|
|
|
#!/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
|
2010-05-17 17:43:30 +02:00
|
|
|
*/*)
|
|
|
|
if command -v sed >/dev/null 2>&1; then
|
2009-10-09 03:11:09 +02:00
|
|
|
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
|
2010-05-17 17:43:30 +02:00
|
|
|
newresume="${newresume:+${newresume}\\x2f}${s}"
|
2009-10-09 03:11:09 +02:00
|
|
|
done
|
|
|
|
unset IFS
|
|
|
|
resume="${newresume}"
|
|
|
|
fi
|
|
|
|
esac
|
|
|
|
resume="/dev/disk/by-label/${resume}"
|
|
|
|
;;
|
|
|
|
UUID=*)
|
|
|
|
resume="/dev/disk/by-uuid/${resume#UUID=}"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
[ ! -e "${resume}" ] && exit 0
|
|
|
|
|
|
|
|
[ ! -e /sys/power/resume ] && exit 0
|
|
|
|
|
|
|
|
# hardcode path, uswsusp ships an resume binary too
|
|
|
|
if [ -n "${resume_offset}" ]; then
|
|
|
|
/bin/resume ${resume} ${resume_offset}
|
|
|
|
else
|
|
|
|
/bin/resume ${resume}
|
|
|
|
fi
|