3 # geninitrd mod: suspend
4 USE_SUSPEND=${USE_SUSPEND:-yes}
9 # setup geninitrd module
12 # XXX this needs tuxonice loaded first
13 if is_yes "$USE_SUSPEND" && is_yes "$USE_TUXONICE"; then
14 warn "Tuxonice and mainline suspend are exclusive!"
17 resume=$(find_tool $initrd_dir/resume /usr/${_lib}/suspend/resume /usr/sbin/resume)
19 if [ ! -x "$resume" ] || [ ! -f /etc/suspend.conf ]; then
24 # find modules for for suspend
26 find_modules_suspend() {
27 resume_dev="$(awk '/^resume device =/ { print $4 } ' /etc/suspend.conf)"
29 local vgvolumes=$VGVOLUMES
30 find_modules_for_devpath $resume_dev
32 if [ "$VGVOLUMES" != "$vgvolumes" ]; then
33 # save our VG to be able to differenciate between rootfs VG
36 debug "suspend device is on LVM"
40 # generate initrd fragment
42 initrd_gen_suspend() {
43 debug "Setting up suspend..."
45 mknod $DESTDIR/dev/snapshot c 10 231
46 mkdir -p $DESTDIR${resume_dev%/*}
47 inst $resume_dev $resume_dev
49 inst /etc/suspend.conf /etc/suspend.conf
50 if [ -x /usr/${_lib}/suspend/resume ]; then
51 inst_exec /usr/${_lib}/suspend/resume /bin/resume
53 inst_exec /usr/sbin/resume /bin/resume
58 for arg in $CMDLINE; do
59 if [ "${arg##resume=}" != "${arg}" ]; then
63 if [ "$resume" = "yes" ]; then