diff --git a/initramfs/etc_rc.d_rc.tryresume.sh b/initramfs/etc_rc.d_rc.tryresume.sh new file mode 100644 index 0000000..30e884a --- /dev/null +++ b/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 diff --git a/initramfs/init.sh b/initramfs/init.sh index 4dee08e..8a1b35a 100644 --- a/initramfs/init.sh +++ b/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; diff --git a/initramfs/sbin_resume.sh b/initramfs/sbin_resume.sh index 9d4970b..cb5e6c7 100644 --- a/initramfs/sbin_resume.sh +++ b/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