summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/sysvinit/sysvinit
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/sysvinit/sysvinit')
-rw-r--r--meta/recipes-core/sysvinit/sysvinit/01_bootlogd1
-rwxr-xr-xmeta/recipes-core/sysvinit/sysvinit/bootlogd.init98
-rwxr-xr-xmeta/recipes-core/sysvinit/sysvinit/rc182
-rwxr-xr-xmeta/recipes-core/sysvinit/sysvinit/rcS34
-rw-r--r--meta/recipes-core/sysvinit/sysvinit/rcS-default29
5 files changed, 344 insertions, 0 deletions
diff --git a/meta/recipes-core/sysvinit/sysvinit/01_bootlogd b/meta/recipes-core/sysvinit/sysvinit/01_bootlogd
new file mode 100644
index 0000000000..a689d92d63
--- /dev/null
+++ b/meta/recipes-core/sysvinit/sysvinit/01_bootlogd
@@ -0,0 +1 @@
f root root 0644 /var/log/boot none
diff --git a/meta/recipes-core/sysvinit/sysvinit/bootlogd.init b/meta/recipes-core/sysvinit/sysvinit/bootlogd.init
new file mode 100755
index 0000000000..df5aa430cf
--- /dev/null
+++ b/meta/recipes-core/sysvinit/sysvinit/bootlogd.init
@@ -0,0 +1,98 @@
1#! /bin/sh
2### BEGIN INIT INFO
3# Provides: bootlogd
4# Required-Start:
5# Required-Stop:
6# Default-Start: S
7# Default-Stop: 2 3 4 5
8# Short-Description: One of the first scripts to be executed. Starts or stops
9# the bootlogd log program. If this script is called as
10# "stop-bootlogd", it will stop the daemon instead of
11# starting it even when called with the "start" argument.
12#
13### END INIT INFO
14
15PATH=/sbin:/bin:/usr/sbin:/usr/bin
16DAEMON=/sbin/bootlogd
17NAME=bootlogd
18DESC="Bootlog daemon"
19
20# source function library
21. /etc/init.d/functions
22
23test -f $DAEMON || exit 0
24
25[ -r /etc/default/bootlogd ] && . /etc/default/bootlogd
26
27## set -e # not needed
28
29case "$BOOTLOGD_ENABLE" in
30 [Nn]*)
31 exit 0
32 ;;
33esac
34
35STOPPER=
36ACTION="$1"
37case "$0" in
38 *stop-bootlog*)
39 STOPPER=Y
40 if [ "$ACTION" = start ]
41 then
42 ACTION=stop
43 fi
44 ;;
45esac
46
47case "$ACTION" in
48 start)
49 [ "${VERBOSE}" != "no" ] && echo -n "Starting $DESC: "
50 if [ -d /proc/1/. ]
51 then
52 umask 027
53 start-stop-daemon --start --quiet \
54 --exec $DAEMON -- -r -c
55 else
56 $DAEMON -r -c
57 fi
58 [ "${VERBOSE}" != "no" ] && echo "$NAME."
59 ;;
60 stop)
61 # stop may get called during bootup, so let it honor
62 # rcS VERBOSE setting
63 [ "${VERBOSE}" != "no" ] && echo -n "Stopping $DESC: "
64 start-stop-daemon --stop --quiet --exec $DAEMON
65
66 if [ "$STOPPER" ] && [ "$(which savelog 2>/dev/null)" ] && \
67 [ -f /var/log/boot ] && [ -f /var/log/boot~ ]
68 then
69 cd /var/log
70 chgrp adm boot
71 savelog -p -c 5 boot > /dev/null 2>&1
72 mv boot.0 boot
73 mv boot~ boot.0
74 fi
75
76 [ "${VERBOSE}" != "no" ] && echo "$NAME."
77 ;;
78 restart|force-reload)
79 echo -n "Restarting $DESC: "
80 start-stop-daemon --stop --quiet --exec $DAEMON
81 sleep 1
82 start-stop-daemon --start --quiet --exec $DAEMON
83 echo "$NAME."
84 ;;
85 status)
86 status $DAEMON
87 exit $?
88 ;;
89 *)
90 N=${0##*/}
91 N=${N#[SK]??}
92 echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
93 exit 1
94 ;;
95esac
96
97exit 0
98
diff --git a/meta/recipes-core/sysvinit/sysvinit/rc b/meta/recipes-core/sysvinit/sysvinit/rc
new file mode 100755
index 0000000000..7ca41ae1ae
--- /dev/null
+++ b/meta/recipes-core/sysvinit/sysvinit/rc
@@ -0,0 +1,182 @@
1#!/bin/sh
2#
3# rc This file is responsible for starting/stopping
4# services when the runlevel changes.
5#
6# Optimization feature:
7# A startup script is _not_ run when the service was
8# running in the previous runlevel and it wasn't stopped
9# in the runlevel transition (most Debian services don't
10# have K?? links in rc{1,2,3,4,5} )
11#
12# Author: Miquel van Smoorenburg <miquels@cistron.nl>
13# Bruce Perens <Bruce@Pixar.com>
14#
15# Version: @(#)rc 2.78 07-Nov-1999 miquels@cistron.nl
16#
17
18. /etc/default/rcS
19export VERBOSE
20
21startup_progress() {
22 step=$(($step + $step_change))
23 if [ "$num_steps" != "0" ]; then
24 progress=$((($step * $progress_size / $num_steps) + $first_step))
25 else
26 progress=$progress_size
27 fi
28 #echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size"
29 #if type psplash-write >/dev/null 2>&1; then
30 # TMPDIR=/mnt/.psplash psplash-write "PROGRESS $progress" || true
31 #fi
32 if [ -e /mnt/.psplash/psplash_fifo ]; then
33 echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo
34 fi
35}
36
37
38#
39# Start script or program.
40#
41startup() {
42 # Handle verbosity
43 [ "$VERBOSE" = very ] && echo "INIT: Running $@..."
44
45 case "$1" in
46 *.sh)
47 # Source shell script for speed.
48 (
49 trap - INT QUIT TSTP
50 scriptname=$1
51 shift
52 . $scriptname
53 )
54 ;;
55 *)
56 "$@"
57 ;;
58 esac
59 startup_progress
60}
61
62 # Ignore CTRL-C only in this shell, so we can interrupt subprocesses.
63 trap ":" INT QUIT TSTP
64
65 # Set onlcr to avoid staircase effect.
66 stty onlcr 0>&1
67
68 # Limit stack size for startup scripts
69 [ "$STACK_SIZE" == "" ] || ulimit -S -s $STACK_SIZE
70
71 # Now find out what the current and what the previous runlevel are.
72
73 runlevel=$RUNLEVEL
74 # Get first argument. Set new runlevel to this argument.
75 [ "$1" != "" ] && runlevel=$1
76 if [ "$runlevel" = "" ]
77 then
78 echo "Usage: $0 <runlevel>" >&2
79 exit 1
80 fi
81 previous=$PREVLEVEL
82 [ "$previous" = "" ] && previous=N
83
84 export runlevel previous
85
86 # Is there an rc directory for this new runlevel?
87 if [ -d /etc/rc$runlevel.d ]
88 then
89 # Find out where in the progress bar the initramfs got to.
90 PROGRESS_STATE=0
91 #if [ -f /dev/.initramfs/progress_state ]; then
92 # . /dev/.initramfs/progress_state
93 #fi
94
95 # Split the remaining portion of the progress bar into thirds
96 progress_size=$(((100 - $PROGRESS_STATE) / 3))
97
98 case "$runlevel" in
99 0|6)
100 # Count down from -100 to 0 and use the entire bar
101 first_step=-100
102 progress_size=100
103 step_change=1
104 ;;
105 S)
106 # Begin where the initramfs left off and use 2/3
107 # of the remaining space
108 first_step=$PROGRESS_STATE
109 progress_size=$(($progress_size * 2))
110 step_change=1
111 ;;
112 *)
113 # Begin where rcS left off and use the final 1/3 of
114 # the space (by leaving progress_size unchanged)
115 first_step=$(($progress_size * 2 + $PROGRESS_STATE))
116 step_change=1
117 ;;
118 esac
119
120 num_steps=0
121 for s in /etc/rc$runlevel.d/[SK]*; do
122 case "${s##/etc/rc$runlevel.d/S??}" in
123 gdm|xdm|kdm|reboot|halt)
124 break
125 ;;
126 esac
127 num_steps=$(($num_steps + 1))
128 done
129 step=0
130
131 # First, run the KILL scripts.
132 if [ $previous != N ]
133 then
134 for i in /etc/rc$runlevel.d/K[0-9][0-9]*
135 do
136 # Check if the script is there.
137 [ ! -f $i ] && continue
138
139 # Stop the service.
140 startup $i stop
141 done
142 fi
143
144 # Now run the START scripts for this runlevel.
145 for i in /etc/rc$runlevel.d/S*
146 do
147 [ ! -f $i ] && continue
148
149 if [ $previous != N ] && [ $previous != S ]
150 then
151 #
152 # Find start script in previous runlevel and
153 # stop script in this runlevel.
154 #
155 suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]}
156 stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix
157 previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix
158 #
159 # If there is a start script in the previous level
160 # and _no_ stop script in this level, we don't
161 # have to re-start the service.
162 #
163 [ -f $previous_start ] && [ ! -f $stop ] && continue
164 fi
165 case "$runlevel" in
166 0|6)
167 startup $i stop
168 ;;
169 *)
170 startup $i start
171 ;;
172 esac
173 done
174 fi
175
176#Uncomment to cause psplash to exit manually, otherwise it exits when it sees a VC switch
177if [ "x$runlevel" != "xS" ] && [ ! -x /etc/rc${runlevel}.d/S??xserver-nodm ]; then
178 if type psplash-write >/dev/null 2>&1; then
179 TMPDIR=/mnt/.psplash psplash-write "QUIT" || true
180 umount -l /mnt/.psplash
181 fi
182fi
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 @@
1#!/bin/sh
2#
3# rcS Call all S??* scripts in /etc/rcS.d in
4# numerical/alphabetical order.
5#
6# Version: @(#)/etc/init.d/rcS 2.76 19-Apr-1999 miquels@cistron.nl
7#
8
9PATH=/sbin:/bin:/usr/sbin:/usr/bin
10runlevel=S
11prevlevel=N
12umask 022
13export PATH runlevel prevlevel
14
15# Make sure proc is mounted
16#
17[ -d "/proc/1" ] || mount /proc
18
19#
20# Source defaults.
21#
22. /etc/default/rcS
23
24#
25# Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
26#
27trap ":" INT QUIT TSTP
28
29#
30# Call all parts in order.
31#
32exec /etc/init.d/rc S
33
34
diff --git a/meta/recipes-core/sysvinit/sysvinit/rcS-default b/meta/recipes-core/sysvinit/sysvinit/rcS-default
new file mode 100644
index 0000000000..709cdf6ec5
--- /dev/null
+++ b/meta/recipes-core/sysvinit/sysvinit/rcS-default
@@ -0,0 +1,29 @@
1#
2# Defaults for the boot scripts in /etc/rcS.d
3#
4
5# Time files in /tmp are kept in days.
6TMPTIME=0
7# Set to yes if you want sulogin to be spawned on bootup
8SULOGIN=no
9# Set to no if you want to be able to login over telnet/rlogin
10# before system startup is complete (as soon as inetd is started)
11DELAYLOGIN=no
12# Assume that the BIOS clock is set to UTC time (recommended)
13UTC=yes
14# Set VERBOSE to "no" if you would like a more quiet bootup.
15VERBOSE=no
16# Set EDITMOTD to "no" if you don't want /etc/motd to be edited automatically
17EDITMOTD=no
18# Whether to fsck root on boot
19ENABLE_ROOTFS_FSCK=no
20# Set FSCKFIX to "yes" if you want to add "-y" to the fsck at startup.
21FSCKFIX=yes
22# Set TICKADJ to the correct tick value for this specific machine
23#TICKADJ=10000
24# Enable caching in populate-volatile.sh
25VOLATILE_ENABLE_CACHE=yes
26# Indicate whether the rootfs is intended to be read-only or not.
27# Setting ROOTFS_READ_ONLY to yes and rebooting will give you a read-only rootfs.
28# Normally you should not change this value.
29ROOTFS_READ_ONLY=no