diff -urNp genkernel-3.4.9_pre3.org/generic/initrd.scripts genkernel-3.4.9_pre3/generic/initrd.scripts --- genkernel-3.4.9_pre3.org/generic/initrd.scripts 2007-09-17 21:52:20.000000000 +0200 +++ genkernel-3.4.9_pre3/generic/initrd.scripts 2007-10-27 12:05:38.000000000 +0200 @@ -847,16 +847,17 @@ setup_unionfs() { fi } -#suspend_resume() { -# [ -x /sbin/resume ] || return 0 -# /sbin/resume -# local ret=$? - -# if [ "${ret}" -eq 0 ]; then -# exit 0 -# fi - -# return 0 -#} +suspend_resume() { + which resume > /dev/null 2>&1 || return + local args + local features="$(resume --version | grep FEATURES)" + local device="$(grep "resume=" /proc/cmdline > /dev/null && cat /proc/cmdline | sed 's/.*resume=//' | sed 's/ .*//')" + [ -n "${device}" ] && args="${args} --resume_device=\"${device}\"" + if ! grep suspend_noui /proc/cmdline > /dev/null 2>&1; then + echo "${features}" | grep "fbsplash" > /dev/null && grep "splash=" /proc/cmdline > /dev/null && args="${args} --parameter=\"splash=y\"" + fi + [ -c /dev/snapshot ] || mknod /dev/snapshot c 10 231 + eval resume ${args} +} suspend2_resume() { diff -urNp genkernel-3.4.9_pre3.org/generic/linuxrc genkernel-3.4.9_pre3/generic/linuxrc --- genkernel-3.4.9_pre3.org/generic/linuxrc 2007-09-17 21:52:20.000000000 +0200 +++ genkernel-3.4.9_pre3/generic/linuxrc 2007-10-27 11:50:32.000000000 +0200 @@ -247,5 +247,5 @@ fi # Run debug shell if requested rundebugshell -#suspend_resume +suspend_resume suspend2_resume