diff options
Diffstat (limited to 'meta/recipes-core/sysvinit/sysvinit')
-rwxr-xr-x | meta/recipes-core/sysvinit/sysvinit/bootlogd.init | 85 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/inittab | 30 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/need | 6 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/postinst | 17 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/prerm | 9 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/provide | 6 | ||||
-rwxr-xr-x | meta/recipes-core/sysvinit/sysvinit/rc | 179 | ||||
-rwxr-xr-x | meta/recipes-core/sysvinit/sysvinit/rcS | 34 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/rcS-default | 25 |
9 files changed, 391 insertions, 0 deletions
diff --git a/meta/recipes-core/sysvinit/sysvinit/bootlogd.init b/meta/recipes-core/sysvinit/sysvinit/bootlogd.init new file mode 100755 index 0000000000..f8f07a050f --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/bootlogd.init @@ -0,0 +1,85 @@ +#! /bin/sh +# +# bootlogd One of the first scripts to be executed. Starts or stops +# the bootlogd log program. If this script is called as +# "stop-bootlogd", it will stop the daemon instead of +# starting it even when called with the "start" argument. +# +# Version: @(#)bootlogd 2.85-12 21-Mar-2004 miquels@cistron.nl +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/sbin/bootlogd +NAME=bootlogd +DESC="Bootlog daemon" + +test -f $DAEMON || exit 0 + +[ -r /etc/default/bootlogd ] && . /etc/default/bootlogd + +## set -e # not needed + +case "$BOOTLOGD_ENABLE" in + [Nn]*) + exit 0 + ;; +esac + +STOPPER= +ACTION="$1" +case "$0" in + *stop-bootlog*) + STOPPER=Y + if [ "$ACTION" = start ] + then + ACTION=stop + fi + ;; +esac + +case "$ACTION" in + start) + echo -n "Starting $DESC: " + if [ -d /proc/1/. ] + then + umask 027 + start-stop-daemon --start --quiet \ + --exec $DAEMON -- -r + else + $DAEMON -r + fi + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --exec $DAEMON + + if [ "$STOPPER" ] && [ -f /var/log/boot ] && \ + [ -f /var/log/boot~ ] + then + cd /var/log + chgrp adm boot + savelog -p -c 5 boot > /dev/null 2>&1 + mv boot.0 boot + mv boot~ boot.0 + fi + + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --exec $DAEMON + sleep 1 + start-stop-daemon --start --quiet --exec $DAEMON + echo "$NAME." + ;; + *) + N=${0##*/} + N=${N#[SK]??} + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 + diff --git a/meta/recipes-core/sysvinit/sysvinit/inittab b/meta/recipes-core/sysvinit/sysvinit/inittab new file mode 100644 index 0000000000..6abbdf4558 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/inittab @@ -0,0 +1,30 @@ +# /etc/inittab: init(8) configuration. +# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ + +# The default runlevel. +id:5:initdefault: + +# Boot-time system configuration/initialization script. +# This is run first except when booting in emergency (-b) mode. +si::sysinit:/etc/init.d/rcS + +# What to do in single-user mode. +~~:S:wait:/sbin/sulogin + +# /etc/init.d executes the S and K scripts upon change +# of runlevel. +# +# Runlevel 0 is halt. +# Runlevel 1 is single-user. +# Runlevels 2-5 are multi-user. +# Runlevel 6 is reboot. + +l0:0:wait:/etc/init.d/rc 0 +l1:1:wait:/etc/init.d/rc 1 +l2:2:wait:/etc/init.d/rc 2 +l3:3:wait:/etc/init.d/rc 3 +l4:4:wait:/etc/init.d/rc 4 +l5:5:wait:/etc/init.d/rc 5 +l6:6:wait:/etc/init.d/rc 6 +# Normally not reached, but fallthrough in case of emergency. +z6:6:respawn:/sbin/sulogin diff --git a/meta/recipes-core/sysvinit/sysvinit/need b/meta/recipes-core/sysvinit/sysvinit/need new file mode 100644 index 0000000000..4d84bbeee7 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/need @@ -0,0 +1,6 @@ +#!/bin/sh + +# need binary that doesnt do anything, supplied for simpleinit +# vs sysvinit compatibility for the supplied startup scripts + +exit 0 diff --git a/meta/recipes-core/sysvinit/sysvinit/postinst b/meta/recipes-core/sysvinit/sysvinit/postinst new file mode 100644 index 0000000000..b6fe547fa4 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/postinst @@ -0,0 +1,17 @@ +#!/bin/busybox ash + +action="$1" +oldversion="$2" + +umask 022 + +if [ "$action" != configure ] +then + exit 0 +fi + +update-alternatives --install /sbin/init init /sbin/sysvinit 25 +update-alternatives --install /sbin/need need /sbin/need.sysvinit 25 +update-alternatives --install /sbin/provide provide /sbin/provide.sysvinit 25 + +exit 0 diff --git a/meta/recipes-core/sysvinit/sysvinit/prerm b/meta/recipes-core/sysvinit/sysvinit/prerm new file mode 100644 index 0000000000..704a29ffd5 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/prerm @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ "$1" != "upgrade" ]; then + update-alternatives --remove need /sbin/need.sysvinit + update-alternatives --remove provide /sbin/provide.sysvinit + update-alternatives --remove init /sbin/sysvinit +fi + +exit 0 diff --git a/meta/recipes-core/sysvinit/sysvinit/provide b/meta/recipes-core/sysvinit/sysvinit/provide new file mode 100644 index 0000000000..c90cf3537b --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/provide @@ -0,0 +1,6 @@ +#!/bin/sh + +# provide binary that doesnt do anything, supplied for simpleinit +# vs sysvinit compatibility for the supplied startup scripts + +exit 0 diff --git a/meta/recipes-core/sysvinit/sysvinit/rc b/meta/recipes-core/sysvinit/sysvinit/rc new file mode 100755 index 0000000000..dce31a5c98 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/rc @@ -0,0 +1,179 @@ +#!/bin/sh +# +# rc This file is responsible for starting/stopping +# services when the runlevel changes. +# +# Optimization feature: +# A startup script is _not_ run when the service was +# running in the previous runlevel and it wasn't stopped +# in the runlevel transition (most Debian services don't +# have K?? links in rc{1,2,3,4,5} ) +# +# Author: Miquel van Smoorenburg <miquels@cistron.nl> +# Bruce Perens <Bruce@Pixar.com> +# +# Version: @(#)rc 2.78 07-Nov-1999 miquels@cistron.nl +# + +. /etc/default/rcS +export VERBOSE + +startup_progress() { + step=$(($step + $step_change)) + if [ "$num_steps" != "0" ]; then + progress=$((($step * $progress_size / $num_steps) + $first_step)) + else + progress=$progress_size + fi + #echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size" + #if type psplash-write >/dev/null 2>&1; then + # TMPDIR=/mnt/.psplash psplash-write "PROGRESS $progress" || true + #fi + if [ -e /mnt/.psplash/psplash_fifo ]; then + echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo + fi +} + + +# +# Start script or program. +# +startup() { + # Handle verbosity + [ "$VERBOSE" = very ] && echo "INIT: Running $@..." + + case "$1" in + *.sh) + # Source shell script for speed. + ( + trap - INT QUIT TSTP + scriptname=$1 + shift + . $scriptname + ) + ;; + *) + "$@" + ;; + esac + startup_progress +} + + # Ignore CTRL-C only in this shell, so we can interrupt subprocesses. + trap ":" INT QUIT TSTP + + # Set onlcr to avoid staircase effect. + stty onlcr 0>&1 + + # Now find out what the current and what the previous runlevel are. + + runlevel=$RUNLEVEL + # Get first argument. Set new runlevel to this argument. + [ "$1" != "" ] && runlevel=$1 + if [ "$runlevel" = "" ] + then + echo "Usage: $0 <runlevel>" >&2 + exit 1 + fi + previous=$PREVLEVEL + [ "$previous" = "" ] && previous=N + + export runlevel previous + + # Is there an rc directory for this new runlevel? + if [ -d /etc/rc$runlevel.d ] + then + # Find out where in the progress bar the initramfs got to. + PROGRESS_STATE=0 + #if [ -f /dev/.initramfs/progress_state ]; then + # . /dev/.initramfs/progress_state + #fi + + # Split the remaining portion of the progress bar into thirds + progress_size=$(((100 - $PROGRESS_STATE) / 3)) + + case "$runlevel" in + 0|6) + # Count down from -100 to 0 and use the entire bar + first_step=-100 + progress_size=100 + step_change=1 + ;; + S) + # Begin where the initramfs left off and use 2/3 + # of the remaining space + first_step=$PROGRESS_STATE + progress_size=$(($progress_size * 2)) + step_change=1 + ;; + *) + # Begin where rcS left off and use the final 1/3 of + # the space (by leaving progress_size unchanged) + first_step=$(($progress_size * 2 + $PROGRESS_STATE)) + step_change=1 + ;; + esac + + num_steps=0 + for s in /etc/rc$runlevel.d/[SK]*; do + case "${s##/etc/rc$runlevel.d/S??}" in + gdm|xdm|kdm|reboot|halt) + break + ;; + esac + num_steps=$(($num_steps + 1)) + done + step=0 + + # First, run the KILL scripts. + if [ $previous != N ] + then + for i in /etc/rc$runlevel.d/K[0-9][0-9]* + do + # Check if the script is there. + [ ! -f $i ] && continue + + # Stop the service. + startup $i stop + done + fi + + # Now run the START scripts for this runlevel. + for i in /etc/rc$runlevel.d/S* + do + [ ! -f $i ] && continue + + if [ $previous != N ] && [ $previous != S ] + then + # + # Find start script in previous runlevel and + # stop script in this runlevel. + # + suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]} + stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix + previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix + # + # If there is a start script in the previous level + # and _no_ stop script in this level, we don't + # have to re-start the service. + # + [ -f $previous_start ] && [ ! -f $stop ] && continue + fi + case "$runlevel" in + 0|6) + startup $i stop + ;; + *) + startup $i start + ;; + esac + done + fi + +#Uncomment to cause psplash to exit manually, otherwise it exits when it sees a VC switch +#if [ "x$runlevel" != "xS" ]; then +# if type psplash-write >/dev/null 2>&1; then +# TMPDIR=/mnt/.psplash psplash-write "QUIT" || true +# umount /mnt/.psplash +# fi +#fi diff --git a/meta/recipes-core/sysvinit/sysvinit/rcS b/meta/recipes-core/sysvinit/sysvinit/rcS new file mode 100755 index 0000000000..080b04f32f --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/rcS @@ -0,0 +1,34 @@ +#!/bin/sh +# +# rcS Call all S??* scripts in /etc/rcS.d in +# numerical/alphabetical order. +# +# Version: @(#)/etc/init.d/rcS 2.76 19-Apr-1999 miquels@cistron.nl +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +runlevel=S +prevlevel=N +umask 022 +export PATH runlevel prevlevel + +# Make sure proc is mounted +# +[ -d "/proc/1" ] || mount /proc + +# +# Source defaults. +# +. /etc/default/rcS + +# +# Trap CTRL-C &c only in this shell so we can interrupt subprocesses. +# +trap ":" INT QUIT TSTP + +# +# Call all parts in order. +# +exec /etc/init.d/rc S + + diff --git a/meta/recipes-core/sysvinit/sysvinit/rcS-default b/meta/recipes-core/sysvinit/sysvinit/rcS-default new file mode 100644 index 0000000000..7ad3c7bf8f --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/rcS-default @@ -0,0 +1,25 @@ +# +# Defaults for the boot scripts in /etc/rcS.d +# + +# Time files in /tmp are kept in days. +TMPTIME=0 +# Set to yes if you want sulogin to be spawned on bootup +SULOGIN=no +# Set to no if you want to be able to login over telnet/rlogin +# before system startup is complete (as soon as inetd is started) +DELAYLOGIN=no +# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not. +# UTC=yes +# Set VERBOSE to "no" if you would like a more quiet bootup. +VERBOSE=no +# Set EDITMOTD to "no" if you don't want /etc/motd to be editted automatically +EDITMOTD=no +# Whether to fsck root on boot +ENABLE_ROOTFS_FSCK=no +# Set FSCKFIX to "yes" if you want to add "-y" to the fsck at startup. +FSCKFIX=yes +# Set TICKADJ to the correct tick value for this specific machine +#TICKADJ=10000 +# Enable caching in populate-volatile.sh +VOLATILE_ENABLE_CACHE=yes |