summaryrefslogtreecommitdiffstats
path: root/initramfs/initrd-stuff
diff options
context:
space:
mode:
authorDirk von Suchodoletz2006-12-14 20:41:21 +0100
committerDirk von Suchodoletz2006-12-14 20:41:21 +0100
commit536dedb52774612e24466d98fb7f043d581b594b (patch)
tree28548829558120b041c09164fdf7c08b33bb6f6e /initramfs/initrd-stuff
parentFirst steps to include (open)SuSE10.2 into SLX environment (see #98). Tried t... (diff)
downloadcore-536dedb52774612e24466d98fb7f043d581b594b.tar.gz
core-536dedb52774612e24466d98fb7f043d581b594b.tar.xz
core-536dedb52774612e24466d98fb7f043d581b594b.zip
Autopoweroff if stuck in Stage3/initramfs. Unfortunately rather CPU
intensive if no (u)sleep binary is used but shell instead (for some reason TMOUT=$1 read does not work in init) git-svn-id: http://svn.openslx.org/svn/openslx/trunk@535 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs/initrd-stuff')
-rw-r--r--initramfs/initrd-stuff/etc/functions12
-rwxr-xr-xinitramfs/initrd-stuff/init20
2 files changed, 21 insertions, 11 deletions
diff --git a/initramfs/initrd-stuff/etc/functions b/initramfs/initrd-stuff/etc/functions
index 4ede90c6..75af6c29 100644
--- a/initramfs/initrd-stuff/etc/functions
+++ b/initramfs/initrd-stuff/etc/functions
@@ -2,7 +2,7 @@
# (included by init, hwautocfg, servconfig, ... within OpenSLX initial
# ramfs)
#
-# Dirk von Suchodoletz <dvs@OpenSLX.com>, 19-11-2006
+# Dirk von Suchodoletz <dvs@OpenSLX.com>, 14-12-2006
# Felix Endres, 30-04-2006
# <mj0@uni-freiburg.de> (xenbr), 12-12-2006
# Tobias Maier
@@ -113,6 +113,16 @@ else
fi
return 0
}
+# standard sleep command
+sleep () {
+if [ -x /bin/sleep ]; then
+ /bin/sleep $1
+#elif [ -x /bin/bash ]; then
+# TMOUT=$1 read
+else
+ usleep `expr $1 \* 100`
+fi
+}
#############################################################################
# (re)generate dynamic linked libraries cache from /etc/ld.so.conf
ldcfg () {
diff --git a/initramfs/initrd-stuff/init b/initramfs/initrd-stuff/init
index 366086ee..097e8c15 100755
--- a/initramfs/initrd-stuff/init
+++ b/initramfs/initrd-stuff/init
@@ -45,7 +45,7 @@ mkdir -p ${DEVDIR}/.udevdb
[ ! -d /sys/class ] && mount -n -t sysfs sysfs /sys
# redirect console (after /dev/console is available, and /dev mounted)
-exec < /dev/console > /dev/console 2>&1
+#exec < /dev/console > /dev/console 2>&1
# if no kernel version is set, try to get it directly from /proc
if [ -z $KERNEL ] ; then
@@ -201,15 +201,15 @@ done
# or halt of the machine if SLX init does not succeed (e.g. missing kernel
# module for the network adaptor)
# fixme/testme!!
-# errorhalt () {
-# if [ "${DEBUGLEVEL}" -lt 3 ] ; then
-# [ ! -f /proc/version ] && mount -n -t proc proc /proc
-# [ ! -f /proc/sysrq-trigger ] && echo -e $init_nosysrq
-# usleep 100000
-# echo "o" > /proc/sysrq-trigger
-# fi
-# }
-# errorhalt &
+errorhalt () {
+if [ "${DEBUGLEVEL}" -lt 4 ] ; then
+ [ ! -f /proc/version ] && mount -n -t proc proc /proc
+ [ ! -f /proc/sysrq-trigger ] && echo -e $init_nosysrq
+ sleep 120
+ echo "o" > /proc/sysrq-trigger
+fi
+}
+errorhalt &
# check if at least one type of IP configuration is availabe
if [ -z "$DHCP" -a -z "$LDAP" -a -z "$IPINFO" ] ; then