diff options
author | Oyvind Repvik <nail@nslu2-linux.org> | 2007-03-07 12:46:19 +0000 |
---|---|---|
committer | Oyvind Repvik <nail@nslu2-linux.org> | 2007-03-07 12:46:19 +0000 |
commit | 7d14765f8a9935fbb46dadd6da34ebfa0a03d603 (patch) | |
tree | 077ddedd59d3fa1ab48e4338abdd570c4a49be5c /packages/initscripts/initscripts-1.0 | |
parent | cac873881c1bf9cf124b5f7766b3fdb1d7d3825f (diff) |
turbostation: initscripts
Diffstat (limited to 'packages/initscripts/initscripts-1.0')
6 files changed, 326 insertions, 0 deletions
diff --git a/packages/initscripts/initscripts-1.0/openturbostation/.mtn2git_empty b/packages/initscripts/initscripts-1.0/openturbostation/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/openturbostation/.mtn2git_empty diff --git a/packages/initscripts/initscripts-1.0/openturbostation/checkroot.sh b/packages/initscripts/initscripts-1.0/openturbostation/checkroot.sh new file mode 100755 index 0000000000..c69a773482 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/openturbostation/checkroot.sh @@ -0,0 +1,212 @@ +# +# checkroot.sh Check to root filesystem. +# +# Version: @(#)checkroot.sh 2.84 25-Jan-2002 miquels@cistron.nl +# + +. /etc/default/rcS + +# +# Set SULOGIN in /etc/default/rcS to yes if you want a sulogin to be spawned +# from this script *before anything else* with a timeout, like SCO does. +# +test "$SULOGIN" = yes && sulogin -t 30 $CONSOLE + +# +# Ensure that bdflush (update) is running before any major I/O is +# performed (the following fsck is a good example of such activity :). +# +test -x /sbin/update && update + +# +# Read /etc/fstab. +# +exec 9>&0 </etc/fstab +rootmode=rw +rootopts=rw +test "$ENABLE_ROOTFS_FSCK" = yes && rootcheck="yes" || rootcheck="no" +swap_on_md=no +devfs= +while read fs mnt type opts dump pass junk +do + case "$fs" in + ""|\#*) + continue; + ;; + /dev/md*) + # Swap on md device. + test "$type" = swap && swap_on_md=yes + ;; + /dev/*) + ;; + *) + # Might be a swapfile. + test "$type" = swap && swap_on_md=yes + ;; + esac + + test "$type" = devfs && devfs="$fs" + + # Currently we do not care about the other entries + if test "$mnt" = "/" + then + #echo "[$fs] [$mnt] [$type] [$opts] [$dump] [$pass] [$junk]" + + rootopts="$opts" + roottype="$type" + + #The "spinner" is broken on busybox sh + TERM=dumb + + test "$pass" = 0 -o "$pass" = "" && rootcheck=no + + # Enable fsck for ext2 and ext3 rootfs, disable for everything else + case "$type" in + ext2|ext3) rootcheck=yes;; + *) rootcheck=no;; + esac + + if test "$rootcheck" = yes + then + if ! test -x "/sbin/fsck.${roottype}" + then + echo -e "\n * * * WARNING: /sbin/fsck.${roottype} is missing! * * *\n" + rootcheck=no + fi + fi + + case "$opts" in + ro|ro,*|*,ro|*,ro,*) + rootmode=ro + ;; + esac + fi +done +exec 0>&9 9>&- + +# +# Activate the swap device(s) in /etc/fstab. This needs to be done +# before fsck, since fsck can be quite memory-hungry. +# +doswap=no +test -d /proc/1 || mount -n /proc +case "`uname -r`" in + 2.[0123].*) + if test $swap_on_md = yes && grep -qs resync /proc/mdstat + then + test "$VERBOSE" != no && echo "Not activating swap - RAID array resyncing" + else + doswap=yes + fi + ;; + *) + doswap=yes + ;; +esac +if test $doswap = yes +then + test "$VERBOSE" != no && echo "Activating swap" + swapon -a 2> /dev/null +fi + +# +# Check the root filesystem. +# +if test -f /fastboot || test $rootcheck = no +then + test $rootcheck = yes && echo "Fast boot, no filesystem check" +else + # + # Ensure that root is quiescent and read-only before fsck'ing. + # + mount -n -o remount,ro / + if test $? = 0 + then + if test -f /forcefsck + then + force="-f" + else + force="" + fi + if test "$FSCKFIX" = yes + then + fix="-y" + else + fix="-a" + fi + spinner="-C" + case "$TERM" in + dumb|network|unknown|"") spinner="" ;; + esac + test `uname -m` = s390 && spinner="" # This should go away + test "$VERBOSE" != no && echo "Checking root filesystem..." + fsck $spinner $force $fix / + # + # If there was a failure, drop into single-user mode. + # + # NOTE: "failure" is defined as exiting with a return code of + # 2 or larger. A return code of 1 indicates that filesystem + # errors were corrected but that the boot may proceed. + # + + echo "RETURNCODE: [$RTC]" + + if test "$RTC" -gt 3 + then + + # Since this script is run very early in the boot-process, it should be safe to assume that the + # output is printed to VT1. However, some distributions use a bootsplash to hide the "ugly" boot + # messages and having the bootsplash "hang" due to a waiting fsck prompt is less than ideal + chvt 1 + + # Surprise! Re-directing from a HERE document (as in + # "cat << EOF") won't work, because the root is read-only. + echo + echo "fsck failed. Please repair manually and reboot. " + echo "Please note that the root filesystem is currently " + echo "mounted read-only. To remount it read-write:" + echo + echo " # mount -n -o remount,rw /" + echo + echo "CONTROL-D will exit from this shell" + echo "and REBOOT the system." + echo + # Start a single user shell on the console + /sbin/sulogin $CONSOLE + reboot -f + fi + else + echo "*** ERROR! Cannot fsck root fs because it is not mounted read-only!" + echo + fi +fi + +devrootfound=$(grep "/dev/root" /proc/mounts | \ + awk '{if ($4 = /rw/) print "found";}' ) + +if [ -n "$devrootfound" -a "$devrootfound" = "found" ]; then + echo "Read/write /dev/root found." + exit 0 +fi + +if mount -vf -o remount / 2> /dev/null | \ + awk '{if ($6 ~ /rw/) exit 0; else exit 1; }' && \ + ! touch -c / 2> /dev/null + then + echo " Remounting root filesystem read/write" + mount -n -o remount,$rootmode / +fi + +if test "$rootmode" = rw +then + if test ! -L /etc/mtab + then + rm -f /etc/mtab~ /etc/nologin + : > /etc/mtab + fi + mount -f -o remount / + mount -f /proc + test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs" +fi + +: exit 0 diff --git a/packages/initscripts/initscripts-1.0/openturbostation/devices b/packages/initscripts/initscripts-1.0/openturbostation/devices new file mode 100755 index 0000000000..f83ea63598 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/openturbostation/devices @@ -0,0 +1,70 @@ +#!/bin/sh +# +# Devfs handling script. Since we arent running devfsd due to various reasons +# which I will not lay out here, we need to create some links for compatibility. + +. /etc/default/rcS + +# exit without doing anything if udev is active +if test -e /dev/.udev -o -e /dev/.udevdb; then + exit 0 +fi + +if test -e /dev/.devfsd +then + if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi + [ -e /dev/.linksmade ] && exit 0 + + ln -s /dev/tts/0 /dev/ttySA0 + ln -s /dev/tts/1 /dev/ttySA1 + + ln -s /dev/sound/dsp /dev/dsp + ln -s /dev/sound/mixer /dev/mixer + + ln -s /dev/misc/rtc /dev/rtc + + # + # some friendly disk links + # + ln -s /dev/discs/disc0/disc /dev/hda + ln -s /dev/discs/disc1/disc /dev/hdb + for i in 1 2 3 4; do + ln -s /dev/discs/disc0/part$i /dev/hda$i + ln -s /dev/discs/disc1/part$i /dev/hdb$i + done + + ## need this so that ppp will autoload the ppp modules + mknod /dev/ppp c 108 0 + ln -s /dev/zero /dev/.linksmade + + if test "$VERBOSE" != "no"; then echo "done"; fi +else + if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi + mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev + if test $? -ne 0; then + if test "$VERBOSE" != "no"; then echo "failed"; fi + else + if test "$VERBOSE" != "no"; then echo "done"; fi + fi + if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi + cd / + mkdir -p dev/input + mkdir -p dev/msys + mkdir -p dev/pts + mkdir -p dev/vc + mkdir -p dev/snd + mkdir -p dev/tts + for i in 0 1 2 3 4 5 6 7 8 9; do + ln -s /dev/tty$i /dev/vc/$i + done + ln -sf /proc/self/fd /dev/fd + ln -sf /proc/kcore /dev/core + /sbin/makedevs -r / -D /etc/device_table + if test $? -ne 0; then + if test "$VERBOSE" != "no"; then echo "failed"; fi + else + if test "$VERBOSE" != "no"; then echo "done"; fi + fi +fi + +exit 0 diff --git a/packages/initscripts/initscripts-1.0/openturbostation/domainname.sh b/packages/initscripts/initscripts-1.0/openturbostation/domainname.sh new file mode 100644 index 0000000000..7113467d8c --- /dev/null +++ b/packages/initscripts/initscripts-1.0/openturbostation/domainname.sh @@ -0,0 +1,5 @@ +# +# domainname.sh Set the domainname. +# +test -r /etc/defaultdomain && + cat /etc/defaultdomain >/proc/sys/kernel/domainname diff --git a/packages/initscripts/initscripts-1.0/openturbostation/halt b/packages/initscripts/initscripts-1.0/openturbostation/halt new file mode 100755 index 0000000000..f22d892d46 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/openturbostation/halt @@ -0,0 +1,27 @@ +#! /bin/sh +# +# halt Execute the halt command. +# +# Version: @(#)halt 2.84-2 07-Jan-2002 miquels@cistron.nl +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# See if we need to cut the power. +if test -x /etc/init.d/ups-monitor +then + /etc/init.d/ups-monitor poweroff +fi + +# Don't shut down drives if we're using RAID. +hddown="-h" +if grep -qs '^md.*active' /proc/mdstat +then + hddown="" +fi + +echo "Powering down..." +scc -p off +halt -d -f -i -p $hddown + +: exit 0 diff --git a/packages/initscripts/initscripts-1.0/openturbostation/reboot b/packages/initscripts/initscripts-1.0/openturbostation/reboot new file mode 100755 index 0000000000..05a82be4c0 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/openturbostation/reboot @@ -0,0 +1,12 @@ +#! /bin/sh +# +# reboot Execute the reboot command. +# +# Version: @(#)reboot 2.75 22-Jun-1998 miquels@cistron.nl +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +echo -n "Rebooting... " +scc -p restart +reboot -d -f -i |