diff options
Diffstat (limited to 'meta/recipes-core/sysvinit')
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch | 23 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch | 81 | ||||
-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 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb | 135 |
12 files changed, 630 insertions, 0 deletions
diff --git a/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch b/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch new file mode 100644 index 0000000000..b9511f088e --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | # The src Makefile was checking for libcrypt.a on the host, not in the | ||
2 | # build environment. This patch checks for $LCRYPT in the environment | ||
3 | # and uses it if it's there. | ||
4 | # - jdike@linux.intel.com | ||
5 | |||
6 | Index: sysvinit-2.88dsf/src/Makefile | ||
7 | =================================================================== | ||
8 | --- sysvinit-2.88dsf.orig/src/Makefile | ||
9 | +++ sysvinit-2.88dsf/src/Makefile | ||
10 | @@ -85,9 +85,13 @@ else | ||
11 | endif | ||
12 | |||
13 | # Additional libs for GNU libc. | ||
14 | +ifneq ($(LCRYPT),) | ||
15 | + SULOGINLIBS += $(LCRYPT) | ||
16 | +else | ||
17 | ifneq ($(wildcard /usr/lib*/libcrypt.a),) | ||
18 | SULOGINLIBS += -lcrypt | ||
19 | endif | ||
20 | +endif | ||
21 | |||
22 | all: $(BIN) $(SBIN) $(USRBIN) | ||
23 | |||
diff --git a/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch b/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch new file mode 100644 index 0000000000..5978cea076 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch | |||
@@ -0,0 +1,81 @@ | |||
1 | diff --git a/src/Makefile b/src/Makefile | ||
2 | index e2b8028..3e11e92 100644 | ||
3 | --- a/src/Makefile | ||
4 | +++ b/src/Makefile | ||
5 | @@ -65,7 +65,14 @@ else | ||
6 | INSTALL_DATA = install -m 644 | ||
7 | endif | ||
8 | INSTALL_DIR = install -m 755 -d | ||
9 | -MANDIR = /usr/share/man | ||
10 | + | ||
11 | +ROOT ?= | ||
12 | +base_bindir ?= /bin | ||
13 | +base_sbindir ?= /sbin | ||
14 | +bindir ?= /usr/bin | ||
15 | +sysconfdir ?= /etc | ||
16 | +includedir ?= /usr/include | ||
17 | +mandir ?= /usr/share/man | ||
18 | |||
19 | ifeq ($(WITH_SELINUX),yes) | ||
20 | SELINUX_DEF = -DWITH_SELINUX | ||
21 | @@ -138,39 +145,39 @@ clobber: cleanobjs | ||
22 | distclean: clobber | ||
23 | |||
24 | install: | ||
25 | - $(INSTALL_DIR) $(ROOT)/bin/ $(ROOT)/sbin/ | ||
26 | - $(INSTALL_DIR) $(ROOT)/usr/bin/ | ||
27 | + $(INSTALL_DIR) $(ROOT)$(base_bindir)/ $(ROOT)$(base_sbindir)/ | ||
28 | + $(INSTALL_DIR) $(ROOT)$(bindir)/ | ||
29 | for i in $(BIN); do \ | ||
30 | - $(INSTALL_EXEC) $$i $(ROOT)/bin/ ; \ | ||
31 | + $(INSTALL_EXEC) $$i $(ROOT)$(base_bindir)/ ; \ | ||
32 | done | ||
33 | for i in $(SBIN); do \ | ||
34 | - $(INSTALL_EXEC) $$i $(ROOT)/sbin/ ; \ | ||
35 | + $(INSTALL_EXEC) $$i $(ROOT)$(base_sbindir)/ ; \ | ||
36 | done | ||
37 | for i in $(USRBIN); do \ | ||
38 | - $(INSTALL_EXEC) $$i $(ROOT)/usr/bin/ ; \ | ||
39 | + $(INSTALL_EXEC) $$i $(ROOT)$(bindir)/ ; \ | ||
40 | done | ||
41 | - # $(INSTALL_DIR) $(ROOT)/etc/ | ||
42 | - # $(INSTALL_EXEC) initscript.sample $(ROOT)/etc/ | ||
43 | - ln -sf halt $(ROOT)/sbin/reboot | ||
44 | - ln -sf halt $(ROOT)/sbin/poweroff | ||
45 | - ln -sf init $(ROOT)/sbin/telinit | ||
46 | - ln -sf /sbin/killall5 $(ROOT)/bin/pidof | ||
47 | - if [ ! -f $(ROOT)/usr/bin/lastb ]; then \ | ||
48 | - ln -sf last $(ROOT)/usr/bin/lastb; \ | ||
49 | + # $(INSTALL_DIR) $(ROOT)$(sysconfdir)/ | ||
50 | + # $(INSTALL_EXEC) initscript.sample $(ROOT)$(sysconfdir)/ | ||
51 | + ln -sf halt $(ROOT)$(base_sbindir)/reboot | ||
52 | + ln -sf halt $(ROOT)$(base_sbindir)/poweroff | ||
53 | + ln -sf init $(ROOT)$(base_sbindir)/telinit | ||
54 | + ln -sf $(base_sbindir)/killall5 $(ROOT)$(base_bindir)/pidof | ||
55 | + if [ ! -f $(ROOT)$(bindir)/lastb ]; then \ | ||
56 | + ln -sf last $(ROOT)$(bindir)/lastb; \ | ||
57 | fi | ||
58 | - $(INSTALL_DIR) $(ROOT)/usr/include/ | ||
59 | - $(INSTALL_DATA) initreq.h $(ROOT)/usr/include/ | ||
60 | - $(INSTALL_DIR) $(ROOT)$(MANDIR)/man1/ | ||
61 | - $(INSTALL_DIR) $(ROOT)$(MANDIR)/man5/ | ||
62 | - $(INSTALL_DIR) $(ROOT)$(MANDIR)/man8/ | ||
63 | + $(INSTALL_DIR) $(ROOT)$(includedir)/ | ||
64 | + $(INSTALL_DATA) initreq.h $(ROOT)$(includedir)/ | ||
65 | + $(INSTALL_DIR) $(ROOT)$(mandir)/man1/ | ||
66 | + $(INSTALL_DIR) $(ROOT)$(mandir)/man5/ | ||
67 | + $(INSTALL_DIR) $(ROOT)$(mandir)/man8/ | ||
68 | for i in $(MAN1); do \ | ||
69 | - $(INSTALL_DATA) ../man/$$i $(ROOT)$(MANDIR)/man1/; \ | ||
70 | + $(INSTALL_DATA) ../man/$$i $(ROOT)$(mandir)/man1/; \ | ||
71 | done | ||
72 | for i in $(MAN5); do \ | ||
73 | - $(INSTALL_DATA) ../man/$$i $(ROOT)$(MANDIR)/man5/; \ | ||
74 | + $(INSTALL_DATA) ../man/$$i $(ROOT)$(mandir)/man5/; \ | ||
75 | done | ||
76 | for i in $(MAN8); do \ | ||
77 | - $(INSTALL_DATA) ../man/$$i $(ROOT)$(MANDIR)/man8/; \ | ||
78 | + $(INSTALL_DATA) ../man/$$i $(ROOT)$(mandir)/man8/; \ | ||
79 | done | ||
80 | ifeq ($(ROOT),) | ||
81 | # | ||
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 @@ | |||
1 | #! /bin/sh | ||
2 | # | ||
3 | # bootlogd One of the first scripts to be executed. Starts or stops | ||
4 | # the bootlogd log program. If this script is called as | ||
5 | # "stop-bootlogd", it will stop the daemon instead of | ||
6 | # starting it even when called with the "start" argument. | ||
7 | # | ||
8 | # Version: @(#)bootlogd 2.85-12 21-Mar-2004 miquels@cistron.nl | ||
9 | # | ||
10 | |||
11 | PATH=/sbin:/bin:/usr/sbin:/usr/bin | ||
12 | DAEMON=/sbin/bootlogd | ||
13 | NAME=bootlogd | ||
14 | DESC="Bootlog daemon" | ||
15 | |||
16 | test -f $DAEMON || exit 0 | ||
17 | |||
18 | [ -r /etc/default/bootlogd ] && . /etc/default/bootlogd | ||
19 | |||
20 | ## set -e # not needed | ||
21 | |||
22 | case "$BOOTLOGD_ENABLE" in | ||
23 | [Nn]*) | ||
24 | exit 0 | ||
25 | ;; | ||
26 | esac | ||
27 | |||
28 | STOPPER= | ||
29 | ACTION="$1" | ||
30 | case "$0" in | ||
31 | *stop-bootlog*) | ||
32 | STOPPER=Y | ||
33 | if [ "$ACTION" = start ] | ||
34 | then | ||
35 | ACTION=stop | ||
36 | fi | ||
37 | ;; | ||
38 | esac | ||
39 | |||
40 | case "$ACTION" in | ||
41 | start) | ||
42 | echo -n "Starting $DESC: " | ||
43 | if [ -d /proc/1/. ] | ||
44 | then | ||
45 | umask 027 | ||
46 | start-stop-daemon --start --quiet \ | ||
47 | --exec $DAEMON -- -r | ||
48 | else | ||
49 | $DAEMON -r | ||
50 | fi | ||
51 | echo "$NAME." | ||
52 | ;; | ||
53 | stop) | ||
54 | echo -n "Stopping $DESC: " | ||
55 | start-stop-daemon --stop --quiet --exec $DAEMON | ||
56 | |||
57 | if [ "$STOPPER" ] && [ -f /var/log/boot ] && \ | ||
58 | [ -f /var/log/boot~ ] | ||
59 | then | ||
60 | cd /var/log | ||
61 | chgrp adm boot | ||
62 | savelog -p -c 5 boot > /dev/null 2>&1 | ||
63 | mv boot.0 boot | ||
64 | mv boot~ boot.0 | ||
65 | fi | ||
66 | |||
67 | echo "$NAME." | ||
68 | ;; | ||
69 | restart|force-reload) | ||
70 | echo -n "Restarting $DESC: " | ||
71 | start-stop-daemon --stop --quiet --exec $DAEMON | ||
72 | sleep 1 | ||
73 | start-stop-daemon --start --quiet --exec $DAEMON | ||
74 | echo "$NAME." | ||
75 | ;; | ||
76 | *) | ||
77 | N=${0##*/} | ||
78 | N=${N#[SK]??} | ||
79 | echo "Usage: $N {start|stop|restart|force-reload}" >&2 | ||
80 | exit 1 | ||
81 | ;; | ||
82 | esac | ||
83 | |||
84 | exit 0 | ||
85 | |||
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 @@ | |||
1 | # /etc/inittab: init(8) configuration. | ||
2 | # $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ | ||
3 | |||
4 | # The default runlevel. | ||
5 | id:5:initdefault: | ||
6 | |||
7 | # Boot-time system configuration/initialization script. | ||
8 | # This is run first except when booting in emergency (-b) mode. | ||
9 | si::sysinit:/etc/init.d/rcS | ||
10 | |||
11 | # What to do in single-user mode. | ||
12 | ~~:S:wait:/sbin/sulogin | ||
13 | |||
14 | # /etc/init.d executes the S and K scripts upon change | ||
15 | # of runlevel. | ||
16 | # | ||
17 | # Runlevel 0 is halt. | ||
18 | # Runlevel 1 is single-user. | ||
19 | # Runlevels 2-5 are multi-user. | ||
20 | # Runlevel 6 is reboot. | ||
21 | |||
22 | l0:0:wait:/etc/init.d/rc 0 | ||
23 | l1:1:wait:/etc/init.d/rc 1 | ||
24 | l2:2:wait:/etc/init.d/rc 2 | ||
25 | l3:3:wait:/etc/init.d/rc 3 | ||
26 | l4:4:wait:/etc/init.d/rc 4 | ||
27 | l5:5:wait:/etc/init.d/rc 5 | ||
28 | l6:6:wait:/etc/init.d/rc 6 | ||
29 | # Normally not reached, but fallthrough in case of emergency. | ||
30 | 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 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # need binary that doesnt do anything, supplied for simpleinit | ||
4 | # vs sysvinit compatibility for the supplied startup scripts | ||
5 | |||
6 | 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 @@ | |||
1 | #!/bin/busybox ash | ||
2 | |||
3 | action="$1" | ||
4 | oldversion="$2" | ||
5 | |||
6 | umask 022 | ||
7 | |||
8 | if [ "$action" != configure ] | ||
9 | then | ||
10 | exit 0 | ||
11 | fi | ||
12 | |||
13 | update-alternatives --install /sbin/init init /sbin/sysvinit 25 | ||
14 | update-alternatives --install /sbin/need need /sbin/need.sysvinit 25 | ||
15 | update-alternatives --install /sbin/provide provide /sbin/provide.sysvinit 25 | ||
16 | |||
17 | 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 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if [ "$1" != "upgrade" ]; then | ||
4 | update-alternatives --remove need /sbin/need.sysvinit | ||
5 | update-alternatives --remove provide /sbin/provide.sysvinit | ||
6 | update-alternatives --remove init /sbin/sysvinit | ||
7 | fi | ||
8 | |||
9 | 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 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # provide binary that doesnt do anything, supplied for simpleinit | ||
4 | # vs sysvinit compatibility for the supplied startup scripts | ||
5 | |||
6 | 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 @@ | |||
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 | ||
19 | export VERBOSE | ||
20 | |||
21 | startup_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 | # | ||
41 | startup() { | ||
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 | # Now find out what the current and what the previous runlevel are. | ||
69 | |||
70 | runlevel=$RUNLEVEL | ||
71 | # Get first argument. Set new runlevel to this argument. | ||
72 | [ "$1" != "" ] && runlevel=$1 | ||
73 | if [ "$runlevel" = "" ] | ||
74 | then | ||
75 | echo "Usage: $0 <runlevel>" >&2 | ||
76 | exit 1 | ||
77 | fi | ||
78 | previous=$PREVLEVEL | ||
79 | [ "$previous" = "" ] && previous=N | ||
80 | |||
81 | export runlevel previous | ||
82 | |||
83 | # Is there an rc directory for this new runlevel? | ||
84 | if [ -d /etc/rc$runlevel.d ] | ||
85 | then | ||
86 | # Find out where in the progress bar the initramfs got to. | ||
87 | PROGRESS_STATE=0 | ||
88 | #if [ -f /dev/.initramfs/progress_state ]; then | ||
89 | # . /dev/.initramfs/progress_state | ||
90 | #fi | ||
91 | |||
92 | # Split the remaining portion of the progress bar into thirds | ||
93 | progress_size=$(((100 - $PROGRESS_STATE) / 3)) | ||
94 | |||
95 | case "$runlevel" in | ||
96 | 0|6) | ||
97 | # Count down from -100 to 0 and use the entire bar | ||
98 | first_step=-100 | ||
99 | progress_size=100 | ||
100 | step_change=1 | ||
101 | ;; | ||
102 | S) | ||
103 | # Begin where the initramfs left off and use 2/3 | ||
104 | # of the remaining space | ||
105 | first_step=$PROGRESS_STATE | ||
106 | progress_size=$(($progress_size * 2)) | ||
107 | step_change=1 | ||
108 | ;; | ||
109 | *) | ||
110 | # Begin where rcS left off and use the final 1/3 of | ||
111 | # the space (by leaving progress_size unchanged) | ||
112 | first_step=$(($progress_size * 2 + $PROGRESS_STATE)) | ||
113 | step_change=1 | ||
114 | ;; | ||
115 | esac | ||
116 | |||
117 | num_steps=0 | ||
118 | for s in /etc/rc$runlevel.d/[SK]*; do | ||
119 | case "${s##/etc/rc$runlevel.d/S??}" in | ||
120 | gdm|xdm|kdm|reboot|halt) | ||
121 | break | ||
122 | ;; | ||
123 | esac | ||
124 | num_steps=$(($num_steps + 1)) | ||
125 | done | ||
126 | step=0 | ||
127 | |||
128 | # First, run the KILL scripts. | ||
129 | if [ $previous != N ] | ||
130 | then | ||
131 | for i in /etc/rc$runlevel.d/K[0-9][0-9]* | ||
132 | do | ||
133 | # Check if the script is there. | ||
134 | [ ! -f $i ] && continue | ||
135 | |||
136 | # Stop the service. | ||
137 | startup $i stop | ||
138 | done | ||
139 | fi | ||
140 | |||
141 | # Now run the START scripts for this runlevel. | ||
142 | for i in /etc/rc$runlevel.d/S* | ||
143 | do | ||
144 | [ ! -f $i ] && continue | ||
145 | |||
146 | if [ $previous != N ] && [ $previous != S ] | ||
147 | then | ||
148 | # | ||
149 | # Find start script in previous runlevel and | ||
150 | # stop script in this runlevel. | ||
151 | # | ||
152 | suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]} | ||
153 | stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix | ||
154 | previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix | ||
155 | # | ||
156 | # If there is a start script in the previous level | ||
157 | # and _no_ stop script in this level, we don't | ||
158 | # have to re-start the service. | ||
159 | # | ||
160 | [ -f $previous_start ] && [ ! -f $stop ] && continue | ||
161 | fi | ||
162 | case "$runlevel" in | ||
163 | 0|6) | ||
164 | startup $i stop | ||
165 | ;; | ||
166 | *) | ||
167 | startup $i start | ||
168 | ;; | ||
169 | esac | ||
170 | done | ||
171 | fi | ||
172 | |||
173 | #Uncomment to cause psplash to exit manually, otherwise it exits when it sees a VC switch | ||
174 | #if [ "x$runlevel" != "xS" ]; then | ||
175 | # if type psplash-write >/dev/null 2>&1; then | ||
176 | # TMPDIR=/mnt/.psplash psplash-write "QUIT" || true | ||
177 | # umount /mnt/.psplash | ||
178 | # fi | ||
179 | #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 @@ | |||
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 | |||
9 | PATH=/sbin:/bin:/usr/sbin:/usr/bin | ||
10 | runlevel=S | ||
11 | prevlevel=N | ||
12 | umask 022 | ||
13 | export 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 | # | ||
27 | trap ":" INT QUIT TSTP | ||
28 | |||
29 | # | ||
30 | # Call all parts in order. | ||
31 | # | ||
32 | exec /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..7ad3c7bf8f --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/rcS-default | |||
@@ -0,0 +1,25 @@ | |||
1 | # | ||
2 | # Defaults for the boot scripts in /etc/rcS.d | ||
3 | # | ||
4 | |||
5 | # Time files in /tmp are kept in days. | ||
6 | TMPTIME=0 | ||
7 | # Set to yes if you want sulogin to be spawned on bootup | ||
8 | SULOGIN=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) | ||
11 | DELAYLOGIN=no | ||
12 | # Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not. | ||
13 | # UTC=yes | ||
14 | # Set VERBOSE to "no" if you would like a more quiet bootup. | ||
15 | VERBOSE=no | ||
16 | # Set EDITMOTD to "no" if you don't want /etc/motd to be editted automatically | ||
17 | EDITMOTD=no | ||
18 | # Whether to fsck root on boot | ||
19 | ENABLE_ROOTFS_FSCK=no | ||
20 | # Set FSCKFIX to "yes" if you want to add "-y" to the fsck at startup. | ||
21 | FSCKFIX=yes | ||
22 | # Set TICKADJ to the correct tick value for this specific machine | ||
23 | #TICKADJ=10000 | ||
24 | # Enable caching in populate-volatile.sh | ||
25 | VOLATILE_ENABLE_CACHE=yes | ||
diff --git a/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb new file mode 100644 index 0000000000..db38064548 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb | |||
@@ -0,0 +1,135 @@ | |||
1 | DESCRIPTION = "System-V like init." | ||
2 | HOMEPAGE = "http://savannah.nongnu.org/projects/sysvinit/" | ||
3 | SECTION = "base" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
6 | file://COPYRIGHT;endline=15;md5=349c872e0066155e1818b786938876a4" | ||
7 | PR = "r1" | ||
8 | |||
9 | # USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf. | ||
10 | # Set PACKAGE_ARCH appropriately. | ||
11 | PACKAGE_ARCH_${PN}-inittab = "${MACHINE_ARCH}" | ||
12 | |||
13 | RDEPENDS_${PN} = "${PN}-inittab" | ||
14 | |||
15 | PACKAGES =+ "bootlogd ${PN}-inittab" | ||
16 | FILES_bootlogd = "/etc/init.d/bootlogd /etc/init.d/stop-bootlogd /etc/rc?.d/S*bootlogd /sbin/bootlogd" | ||
17 | FILES_${PN}-inittab = "${sysconfdir}/inittab" | ||
18 | CONFFILES_${PN}-inittab = "${sysconfdir}/inittab" | ||
19 | |||
20 | USE_VT ?= "1" | ||
21 | SYSVINIT_ENABLED_GETTYS ?= "1" | ||
22 | |||
23 | SRC_URI = "http://download.savannah.gnu.org/releases-noredirect/sysvinit/sysvinit-${PV}.tar.bz2 \ | ||
24 | file://install.patch \ | ||
25 | file://crypt-lib.patch \ | ||
26 | file://need \ | ||
27 | file://provide \ | ||
28 | file://inittab \ | ||
29 | file://rcS-default \ | ||
30 | file://rc \ | ||
31 | file://rcS \ | ||
32 | file://bootlogd.init" | ||
33 | |||
34 | S = "${WORKDIR}/sysvinit-${PV}" | ||
35 | B = "${S}/src" | ||
36 | |||
37 | inherit update-alternatives | ||
38 | |||
39 | ALTERNATIVE_NAME = "init" | ||
40 | ALTERNATIVE_LINK = "${base_sbindir}/init" | ||
41 | ALTERNATIVE_PATH = "${base_sbindir}/init.sysvinit" | ||
42 | ALTERNATIVE_PRIORITY = "50" | ||
43 | |||
44 | PACKAGES =+ "sysvinit-pidof sysvinit-sulogin" | ||
45 | FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*" | ||
46 | FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit" | ||
47 | FILES_sysvinit-sulogin = "${base_sbindir}/sulogin" | ||
48 | |||
49 | CFLAGS_prepend = "-D_GNU_SOURCE " | ||
50 | export LCRYPT = "-lcrypt" | ||
51 | EXTRA_OEMAKE += "'base_bindir=${base_bindir}' \ | ||
52 | 'base_sbindir=${base_sbindir}' \ | ||
53 | 'bindir=${bindir}' \ | ||
54 | 'sbindir=${sbindir}' \ | ||
55 | 'sysconfdir=${sysconfdir}' \ | ||
56 | 'includedir=${includedir}' \ | ||
57 | 'mandir=${mandir}'" | ||
58 | |||
59 | do_install () { | ||
60 | oe_runmake 'ROOT=${D}' install | ||
61 | install -d ${D}${sysconfdir} \ | ||
62 | ${D}${sysconfdir}/default \ | ||
63 | ${D}${sysconfdir}/init.d | ||
64 | install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab | ||
65 | if [ ! -z "${SERIAL_CONSOLE}" ]; then | ||
66 | echo "S:2345:respawn:${base_sbindir}/getty ${SERIAL_CONSOLE}" >> ${D}${sysconfdir}/inittab | ||
67 | fi | ||
68 | if [ "${USE_VT}" = "1" ]; then | ||
69 | cat <<EOF >>${D}${sysconfdir}/inittab | ||
70 | # ${base_sbindir}/getty invocations for the runlevels. | ||
71 | # | ||
72 | # The "id" field MUST be the same as the last | ||
73 | # characters of the device (after "tty"). | ||
74 | # | ||
75 | # Format: | ||
76 | # <id>:<runlevels>:<action>:<process> | ||
77 | # | ||
78 | |||
79 | EOF | ||
80 | |||
81 | for n in ${SYSVINIT_ENABLED_GETTYS} | ||
82 | do | ||
83 | echo "$n:2345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab | ||
84 | done | ||
85 | echo "" >> ${D}${sysconfdir}/inittab | ||
86 | fi | ||
87 | install -m 0644 ${WORKDIR}/rcS-default ${D}${sysconfdir}/default/rcS | ||
88 | install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d | ||
89 | install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d | ||
90 | install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd | ||
91 | ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd | ||
92 | install -d ${D}${sysconfdir}/rcS.d | ||
93 | ln -sf ../init.d/bootlogd ${D}${sysconfdir}/rcS.d/S07bootlogd | ||
94 | for level in 2 3 4 5; do | ||
95 | install -d ${D}${sysconfdir}/rc$level.d | ||
96 | ln -s ../init.d/stop-bootlogd ${D}${sysconfdir}/rc$level.d/S99stop-bootlogd | ||
97 | done | ||
98 | mv ${D}${base_sbindir}/init ${D}${base_sbindir}/init.${PN} | ||
99 | mv ${D}${base_bindir}/pidof ${D}${base_bindir}/pidof.${PN} | ||
100 | mv ${D}${base_sbindir}/halt ${D}${base_sbindir}/halt.${PN} | ||
101 | mv ${D}${base_sbindir}/reboot ${D}${base_sbindir}/reboot.${PN} | ||
102 | mv ${D}${base_sbindir}/shutdown ${D}${base_sbindir}/shutdown.${PN} | ||
103 | mv ${D}${base_sbindir}/poweroff ${D}${base_sbindir}/poweroff.${PN} | ||
104 | mv ${D}${bindir}/last ${D}${bindir}/last.${PN} | ||
105 | mv ${D}${bindir}/mesg ${D}${bindir}/mesg.${PN} | ||
106 | mv ${D}${bindir}/wall ${D}${bindir}/wall.${PN} | ||
107 | } | ||
108 | |||
109 | pkg_postinst_${PN} () { | ||
110 | update-alternatives --install ${base_sbindir}/halt halt halt.${PN} 200 | ||
111 | update-alternatives --install ${base_sbindir}/reboot reboot reboot.${PN} 200 | ||
112 | update-alternatives --install ${base_sbindir}/shutdown shutdown shutdown.${PN} 200 | ||
113 | update-alternatives --install ${base_sbindir}/poweroff poweroff poweroff.${PN} 200 | ||
114 | update-alternatives --install ${bindir}/last last last.${PN} 200 | ||
115 | update-alternatives --install ${bindir}/mesg mesg mesg.${PN} 200 | ||
116 | update-alternatives --install ${bindir}/wall wall wall.${PN} 200 | ||
117 | } | ||
118 | |||
119 | pkg_prerm_${PN} () { | ||
120 | update-alternatives --remove halt halt.${PN} | ||
121 | update-alternatives --remove reboot reboot.${PN} | ||
122 | update-alternatives --remove shutdown shutdown.${PN} | ||
123 | update-alternatives --remove poweroff poweroff.${PN} | ||
124 | update-alternatives --remove last last.${PN} | ||
125 | update-alternatives --remove mesg mesg.${PN} | ||
126 | update-alternatives --remove wall wall.${PN} | ||
127 | } | ||
128 | |||
129 | pkg_postinst_sysvinit-pidof () { | ||
130 | update-alternatives --install ${base_bindir}/pidof pidof pidof.${PN} 200 | ||
131 | } | ||
132 | |||
133 | pkg_prerm_sysvinit-pidof () { | ||
134 | update-alternatives --remove pidof pidof.${PN} | ||
135 | } | ||