--- resume 2012-02-18 15:44:04.081443076 +0100 +++ /lib/initcpio/hooks/resume 2012-02-18 15:34:38.217060679 +0100 @@ -1,27 +1,28 @@ # vim:set ft=sh: run_hook () { + local resumedev + if [ -n "${resume}" ]; then if [ "${resume}" != "${resume/:}" ]; then # Tux-on-ice syntax: swap:/dev/sda2 or file:/dev/sda2:0xdeadbeef - resumedev=${resume#*:} - resumedev=${resumedev%%:*} + resumedev="${resume#*:}" + resumedev="${resumedev%%:*}" else # Classical syntax: just a device resumedev="${resume}" fi - if poll_device "${resumedev}" ${rootdelay}; then + if resumedev=$(resolve_device "${resumedev}"); then if [ "${resume}" != "${resume/:}" ]; then # Try resuming with tuxonice - tuxoniceroot="/sys/power/tuxonice" - if [ -d "${tuxoniceroot}" ]; then - echo ${resume} > ${tuxoniceroot}/resume - echo > ${tuxoniceroot}/do_resume + if [ -d "/sys/power/tuxonice" ]; then + echo ${resume} > /sys/power/tuxonice/resume + echo > /sys/power/tuxonice/do_resume fi else # Try resuming with vanilla hibernation if [ -e "/sys/power/resume" ]; then - printf "%d:%d" $(stat -Lc "0x%t 0x%T" ${resume}) > /sys/power/resume + printf "%d:%d" $(stat -Lc "0x%t 0x%T" ${resumedev}) > /sys/power/resume fi fi fi