Browse Source

rc: implemented autoresume

0.2-maint
Alejandro Mery 14 years ago
parent
commit
89d4624772
3 changed files with 47 additions and 20 deletions
  1. +37
    -0
      initramfs/etc_rc.d_rc.tryresume.sh
  2. +7
    -2
      initramfs/init.sh
  3. +3
    -18
      initramfs/sbin_resume.sh

+ 37
- 0
initramfs/etc_rc.d_rc.tryresume.sh

@ -0,0 +1,37 @@
#!/bin/sh
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: target/idunn/initramfs/etc_rc.d_rc.tryresume.sh
# Copyright (C) 2008 - 2009 The OpenSDE Project
#
# More information can be found in the files COPYING and README.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License. A copy of the
# GNU General Public License can be found in the file COPYING.
# --- SDE-COPYRIGHT-NOTE-END ---
. /etc/rc.d/functions.in
. /etc/conf/idunn
if grep -q "^[^ ]* $rootfs " /proc/mounts; then
if ! grep -q "^[^ ]* $rootfs [^ ]* $root_mode[, ]" /proc/mounts; then
title "Remouting $rootfs as $root_mode"
check mount -o remount,$root_mode "$rootfs"
status
fi
title "Checking for init ($init)"
if [ -n "$init" -a -x "$rootfs$init" ]; then
check touch /var/run/.idunn-resume
else
check false
fi
status
else
error=1
fi
exit $error

+ 7
- 2
initramfs/init.sh

@ -44,10 +44,15 @@ unset x
(
/etc/rc.d/rc.sysinit
/etc/rc.d/rc.trymount delayed
if [ ! -e /var/run/.idunn-stop ]; then
/etc/rc.d/rc.tryresume
fi
) 2>&1 | tee -a $LOG
# attach a console
ln -s /etc/console /var/service/
if [ ! -e /var/run/.idunn-resume ]; then
# attach a console
ln -s /etc/console /var/service/
fi
while true; do
sleep 1;

+ 3
- 18
initramfs/sbin_resume.sh

@ -3,7 +3,7 @@
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: target/idunn/initramfs/sbin_resume.sh
# Copyright (C) 2008 The OpenSDE Project
# Copyright (C) 2008 - 2009 The OpenSDE Project
#
# More information can be found in the files COPYING and README.
#
@ -18,23 +18,8 @@ LOCK=/var/run/init.lock
ln -s / $LOCK 2> /dev/null || return
if /etc/rc.d/rc.trymount -v; then
# rootfs mounted
. /etc/rc.d/functions.in
. /etc/conf/idunn
if ! grep -q "^[^ ]* $rootfs [^ ]* $root_mode[, ]" /proc/mounts; then
title "Remouting $rootfs as $root_mode"
check mount -o remount,$root_mode "$rootfs"
status
fi
title "Checking for init ($init)"
if [ -n "$init" -a -x "$rootfs$init" ]; then
check touch /var/run/.idunn-resume
else
check false
fi
status
/etc/rc.d/rc.tryresume
error=$?
else
error=1
fi

Loading…
Cancel
Save