Browse Source

Add user suspend support

This patch adds support for user mode suspend to disk. It is installed
in parallel to kernel mode suspend module; either will fail if
system was not suspended using correct tool so next one can be tried.

Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
master
Andrey Borzenkov 15 years ago committed by Harald Hoyer
parent
commit
5c7821b6c5
  1. 1
      dracut.spec
  2. 2
      modules.d/95uswsusp/check
  3. 6
      modules.d/95uswsusp/install
  4. 20
      modules.d/95uswsusp/parse-uswsusp.sh
  5. 11
      modules.d/95uswsusp/resume-uswsusp.sh

1
dracut.spec

@ -186,6 +186,7 @@ rm -rf $RPM_BUILD_ROOT @@ -186,6 +186,7 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/dracut/modules.d/95znet
%{_datadir}/dracut/modules.d/95terminfo
%{_datadir}/dracut/modules.d/95udev-rules
%{_datadir}/dracut/modules.d/95uswsusp
%{_datadir}/dracut/modules.d/98syslog
%{_datadir}/dracut/modules.d/99base
%attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log

2
modules.d/95uswsusp/check

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
#!/bin/sh
[ -x /usr/sbin/resume ]

6
modules.d/95uswsusp/install

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
#!/bin/bash
inst /usr/sbin/resume
[ -f /etc/suspend.conf ] && inst /etc/suspend.conf

inst_hook cmdline 10 "$moddir/parse-uswsusp.sh"
inst_hook mount 10 "$moddir/resume-uswsusp.sh"

20
modules.d/95uswsusp/parse-uswsusp.sh

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
#!/bin/sh
if resume=$(getarg resume=) && ! getarg noresume; then
export resume
else
unset resume
fi

case "$resume" in
LABEL=*)
resume="$(echo $resume | sed 's,/,\\x2f,g')"
resume="/dev/disk/by-label/${resume#LABEL=}" ;;
UUID=*)
resume="/dev/disk/by-uuid/${resume#UUID=}" ;;
esac

if splash=$(getarg splash=); then
export splash
else
unset splash
fi

11
modules.d/95uswsusp/resume-uswsusp.sh

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
#!/bin/sh
case "$splash" in
quiet )
a_splash="-P splash=y"
;;
* )
a_splash="-P splash=n"
;;
esac

/usr/sbin/resume $a_splash "$resume"
Loading…
Cancel
Save