summaryrefslogtreecommitdiffstats
path: root/initramfs/distro-specs/suse/files-default/etc/init.d
diff options
context:
space:
mode:
Diffstat (limited to 'initramfs/distro-specs/suse/files-default/etc/init.d')
-rwxr-xr-xinitramfs/distro-specs/suse/files-default/etc/init.d/boot286
-rwxr-xr-xinitramfs/distro-specs/suse/files-default/etc/init.d/halt90
2 files changed, 376 insertions, 0 deletions
diff --git a/initramfs/distro-specs/suse/files-default/etc/init.d/boot b/initramfs/distro-specs/suse/files-default/etc/init.d/boot
new file mode 100755
index 00000000..8012f287
--- /dev/null
+++ b/initramfs/distro-specs/suse/files-default/etc/init.d/boot
@@ -0,0 +1,286 @@
+#!/bin/sh
+#
+# Description: Modificated /etc/init.d/boot for use with Diskless
+# X Stations (v4.0) -> replaces /etc/init.d/boot
+# simply copied over the original file in initrd
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 08-04-2006
+# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg
+#
+# Version: 0.0.2b
+#
+# Some parts taken from /etc/init.d/boot by
+#
+# Copyright (c) 1996-2004 SuSE Linux AG, Nuernberg, Germany.
+# All rights reserved.
+#
+# Author: Ruediger Oertel <ro@suse.de>, 1996-2002
+# Werner Fink <werner@suse.de>, 1996-2003
+# Burchard Steinbild, 1996-2000
+# Florian La Roche, 1996
+#
+# first script to be executed from init on system startup
+#
+# Most of preparation is done within the initial ramdisk
+#
+################################################################
+LD_LIBRARY_PATH=/usr/lib
+
+# Before we do anything else, try at first to activate SELinux support
+test -d /selinux && mount -n -t selinuxfs none /selinux &>/dev/null
+
+# Configuration and coloring of the boot messages
+. /etc/rc.status
+. /etc/sysconfig/boot
+. /etc/sysconfig/logfile
+
+# Avoid be interrupted by child or keyboard
+trap "echo" SIGINT SIGSEGV SIGQUIT
+set +e
+
+# reasonable start values for bootsplash progress
+export progress=0
+export sscripts=45
+export kscripts=45
+
+echo -n "System Boot Control: "
+echo "Running $0"
+
+################################################################
+#
+
+# some important (un)mounts
+rc_reset
+echo -n "Mounting /proc, /sys and /dev/pts filesystems"
+# file /etc/fstab in some scenarios not available
+mount -t proc proc /proc &>/dev/null
+rc_status -v -r
+
+echo -n "Mounting /dev/pts"
+mount -t devpts -o mode=0620,gid=5 devpts /dev/pts
+rc_status -v -r
+if [ -d /sys ] ; then
+ while read a b c ; do
+ case "$b" in
+ sysfs)
+ echo -n "Mounting /sys filesystem"
+ echo -e "sysfs\t\t/sys\t\tsysfs\t\trw\t\t 0 0\n" \
+ >>/etc/fstab
+ mount -t sysfs sysfs /sys
+ rc_status -v -r
+ break
+ ;;
+ esac
+ done < /proc/filesystems
+fi
+
+# Start blogd, requires /proc and /dev/pts.
+# Export the real device in variable REDIRECT.
+test -x /sbin/blogd -a -n "$REDIRECT" && /sbin/blogd $REDIRECT
+if test -z "$REDIRECT" ; then
+ if (echo -n > /dev/tty) 2>/dev/null ; then
+ REDIRECT=/dev/tty
+ else
+ REDIRECT=/dev/console
+ fi
+fi
+
+################################################################
+#
+# Save old terminal settings and set -nl to avoid staircase
+# effect, do not lock scrolling, and avoid break characters.
+otty=$(stty -g)
+if test "$FLOW_CONTROL" = "yes" ; then
+ stty -nl ixon ignbrk -brkint
+else
+ stty -nl -ixon ignbrk -brkint
+fi
+
+################################################################
+#
+# Should we ask for interactive boot mode
+DO_CONFIRM=""
+read -t 2 check < /proc/cmdline 2> /dev/null
+case "$check" in
+ *confirm*) DO_CONFIRM=yes ;;
+esac
+test -z "$CONFIRM_PROMPT_TIMEOUT" && CONFIRM_PROMPT_TIMEOUT=5
+if test "$PROMPT_FOR_CONFIRM" = "yes" -a "$DO_CONFIRM" != "yes" ; then
+ echo -en "${extd}Enter Interactive startup mode?${norm}"
+ rc_timer_on "$CONFIRM_PROMPT_TIMEOUT" 37
+ read -t "$CONFIRM_PROMPT_TIMEOUT" -n 1 \
+ -p " ${extd}y${norm}/[${extd}n${norm}]\
+("${CONFIRM_PROMPT_TIMEOUT}s") " answer
+ rc_timer_off
+ case "$answer" in
+ [yYiI]) DO_CONFIRM=yes ;;
+ *) DO_CONFIRM= ;;
+ esac
+ unset answer
+ echo
+fi
+export DO_CONFIRM
+
+################################################################
+#
+# Common used variables
+bootrc=/etc/init.d/boot.d
+rex="[0-9][0-9]"
+failed=""
+skipped=""
+callord=""
+
+#
+# Initialize boosplash progressbar variables
+#
+. /etc/rc.splash B
+splashtrigger "rlchange B"
+
+################################################################
+#
+# Do we stop/start script in parallel?
+startpar=$(type -p startpar)
+test "$RUN_PARALLEL" = "yes" || startpar=""
+test "$DO_CONFIRM" = "yes" && startpar=""
+
+# Start bootup client scripts.
+if test -d ${bootrc}/ ; then
+ for i in ${bootrc}/S*; do
+ test -f $i || continue
+
+ B=${i##*/}
+ script=${B#*S$rex}
+ B=${B%$script}
+
+ rc_splash "$script start"
+
+ if test "$DO_CONFIRM" = "yes" ; then
+ rc_confirm -t 5 "Start bootup script ${script}" \
+ < $REDIRECT > $REDIRECT 2>&1
+ case "$?" in
+ 0) true ;;
+ 1) continue ;;
+ 2) DO_CONFIRM=""
+ esac
+ fi
+
+ if test -z "$startpar" ; then
+ blogger "$script start"
+
+ if test -x "$i" ; then
+ $i start
+ else
+ echo Running $i
+ /bin/sh $i b
+ rc_status -v1 -r
+ fi
+ status=$?
+ echo -en "$rc_reset"
+
+ case $status in
+ [1-4]) failed="${failed:+$failed }$script" ;;
+ [56]) skipped="${skipped:+$skipped }$script" ;;
+ [07]|*) ;;
+ esac
+
+ blogger "'$script start' exits with status $status"
+ else
+ # Parallel boot only for valid scripts
+ test -x $i || continue
+
+ # Current vector
+ eval cur=\${$B}
+ test -n "$cur" || callord="${callord:+$callord }$B"
+
+ # Remember scripts
+ eval $B="\${cur:+$i }\${cur:-$i}"
+ fi
+ done
+fi
+
+################################################################
+#
+# Call the scripts in correct order
+if test -n "$startpar" ; then
+ declare -i s
+ for p in $callord ; do
+ vect=$p
+ eval p=(\${$p})
+
+ blogger "run boot scripts (${p[@]##*S$rex})"
+ if test ${#p[@]} -eq 1 ; then
+ ${p} start
+ status=($?)
+ else
+ status=($($startpar -t 30 -T 3 -a start ${p[@]}))
+ fi
+ echo -en "$rc_reset"
+ blogger "exit status of (${p[@]##*S$rex}) is (${status[@]})"
+
+ s=0
+ for script in ${p[@]##*S$rex} ; do
+ case "${status[$s]}" in
+ [1-4]) failed="${failed:+$failed }$script" ;;
+ [56]) skipped="${skipped:+$skipped }$script" ;;
+ 0|*) ;;
+ esac
+ : $((s++))
+ done
+ done
+fi
+
+################################################################
+#
+# Be verbose and print stats
+echo -n "System Boot Control: "
+echo -e "The system has been ${stat}${extd}set up${norm}"
+if test -n "$failed" ; then
+ n=$((${#failed} + 7))
+ echo -n "Failed features: "
+ test $n -lt 47 && echo -en "\033[${COLUMNS}C\033[${n}D"
+ echo -e "${warn}${failed}${norm}"
+fi
+if test -n "$skipped" ; then
+ n=$((${#skipped} + 7))
+ echo -n "Skipped features: "
+ test $n -lt 47 && echo -en "\033[${COLUMNS}C\033[${n}D"
+ echo -e "${attn}${skipped}${norm}"
+fi
+
+
+################################################################
+#
+# Check for boot cycle detection
+test -s /lib/bootcycle/stats && . /lib/bootcycle/stats
+
+
+# Remember for master resource script
+if test "$DO_CONFIRM" = "yes" ; then
+ touch /var/run/do_confirm
+fi
+
+# Restore old terminal settings
+stty $otty
+
+################################################################
+#
+# Let zic set timezone - if present (from boot.ldconfig).
+if test -n "$TIMEZONE" -a -x /usr/sbin/zic ; then
+ echo -n Setting up timezone data
+ /usr/sbin/zic -l $TIMEZONE
+ rc_status -v -r
+fi
+
+################################################################
+#
+# start user defined bootup script.
+if test -f /etc/init.d/boot.local ; then
+ ECHO_RETURN=$rc_done_up
+ echo "Running /etc/init.d/boot.local"
+ /bin/sh /etc/init.d/boot.local || rc_failed
+ rc_status -v1; rc_reset
+ rc_splash "boot.local start"
+fi
+
+rc_reset
+exit 0
diff --git a/initramfs/distro-specs/suse/files-default/etc/init.d/halt b/initramfs/distro-specs/suse/files-default/etc/init.d/halt
new file mode 100755
index 00000000..65e5b0ad
--- /dev/null
+++ b/initramfs/distro-specs/suse/files-default/etc/init.d/halt
@@ -0,0 +1,90 @@
+#! /bin/sh
+#
+# Description: Modificated /etc/init.d/halt for use with Diskless
+# X Stations (v4.0)
+# -> replaces /etc/init.d/halt
+#
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 13-12-2005
+# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg
+#
+# Version: 0.0.3a
+#
+# Some parts taken from /etc/init.d/halt by
+#
+# Copyright (c) 1996-2004 SuSE Linux AG, Nuernberg, Germany.
+# All rights reserved.
+
+. /etc/rc.status
+. /etc/sysconfig/clock
+. /etc/sysconfig/suseconfig
+
+#
+# Avoid being interrupted by child or keyboard
+trap "echo" SIGINT SIGSEGV SIGQUIT SIGTERM
+set +e
+
+rc_reset
+case "$0" in
+ *halt)
+ message="The system is halted."
+ command="halt"
+ modprobe -q apm &>/dev/null
+ if test -e /proc/apm -o -e /proc/acpi -o -e /proc/sys/acpi ; then
+ command="halt -p"
+ else
+ read cmdline < /proc/cmdline
+ case "$cmdline" in
+ *apm=smp-power-off*|*apm=power-off*)
+ command="halt -p" ;;
+ esac
+ fi
+ ;;
+ *reboot)
+ message="Please stand by while rebooting the system..."
+ command="reboot"
+ ;;
+ *)
+ echo "$0: call me as \"halt\" or \"reboot\" please!"
+ exit 1
+ ;;
+esac
+
+# Write to wtmp file before unmounting /var (only needed with
+# persistent mounted filesystem)
+# $command -w
+
+rc_reset
+echo "Turning off swap"
+sync ; sync
+swapoff -a || rc_failed
+rc_status
+
+UMOUNT_FAILED=false
+rc_reset
+echo "Unmounting file systems and devices"
+for unmount in /media/* ; do
+ umount -fnt $unmount &>/dev/null
+done
+umount -fnt /tmp/scratch &>/dev/null
+eject /dev/zip &>/dev/null &
+rc_status -v1
+
+umount -anft noproc,nonfs &>/dev/null
+
+rc_reset
+# maybe we use multiple devices
+if test -f /etc/mdtab -a -x /sbin/mdadd ; then
+ echo -n "Disable Multiple Devices"
+ /sbin/mdstop -a || rc_failed
+ rc_status -v1
+fi
+
+sync
+
+# show "the system is down" message
+if test "$SPLASH" = yes ; then
+ /sbin/splash -q -p 65535 -t "isdown"
+fi
+
+echo $message
+exec $command -d -f