10.0
10.0-rc1
10.1
10.1-rc1
11.0
11.0-rc1
11.0-rc2
11.0-rc3
11.1
11.1-rc1
11.2
11.2-rc1
11.3
11.3-rc1
12.0
12.0-rc1
12.1
12.1-rc1
12.2
12.2-rc1
6.0
6.1
6.1.1
6.3
6.4
6.5
6.6
6.7
6.8
7.0
7.1
7.2
7.3
7.4
7.5
7.5-systemd
7.6
7.6-systemd
7.7
7.7-systemd
7.8
7.8-systemd
7.9
7.9-systemd
8.0
8.1
8.2
8.3
8.4
9.0
9.1
arm
bdubbs/gcc13
ml-11.0
multilib
renodr/libudev-from-systemd
s6-init
trunk
v3_0
v3_1
v3_2
v3_3
v4_0
v4_1
v5_0
v5_1
v5_1_1
xry111/arm64
xry111/arm64-12.0
xry111/clfs-ng
xry111/lfs-next
xry111/loongarch
xry111/loongarch-12.0
xry111/loongarch-12.1
xry111/loongarch-12.2
xry111/mips64el
xry111/multilib
xry111/pip3
xry111/rust-wip-20221008
xry111/update-glibc
Line | |
---|
1 | <sect1 id="ch07-rcS">
|
---|
2 | <title>Creating the rcS script</title>
|
---|
3 |
|
---|
4 | <para>The second main boot script is the <filename>rcS</filename> script.
|
---|
5 | Create the <filename>/etc/init.d/rcS</filename> script by running the following
|
---|
6 | command:</para>
|
---|
7 |
|
---|
8 | <para><screen><userinput>cat > rcS << "EOF"</userinput>
|
---|
9 | #!/bin/sh
|
---|
10 | # Begin /etc/init.d/rcS
|
---|
11 |
|
---|
12 | #
|
---|
13 | # See the rc script for the extensive comments on the constructions
|
---|
14 | # used here
|
---|
15 | #
|
---|
16 |
|
---|
17 | source /etc/init.d/functions
|
---|
18 |
|
---|
19 | print_error_msg()
|
---|
20 | {
|
---|
21 |
|
---|
22 | echo
|
---|
23 | $FAILURE
|
---|
24 | echo -n "You should not read this error message. It means "
|
---|
25 | echo "that an unforeseen error "
|
---|
26 | echo -n "took place and subscript $i exited with "
|
---|
27 | echo "a return value "
|
---|
28 | echo -n "of $error_value for an unknown reason. If you're able "
|
---|
29 | echo "to trace this error down "
|
---|
30 | echo -n "to a bug in one of the files provided by this book, "
|
---|
31 | echo "please be so kind to "
|
---|
32 | echo -n "inform us at lfs-discuss@linuxfromscratch.org"
|
---|
33 | $NORMAL
|
---|
34 | echo
|
---|
35 | echo
|
---|
36 | echo "Press a key to continue..."
|
---|
37 | read
|
---|
38 |
|
---|
39 | }
|
---|
40 |
|
---|
41 | runlevel=S
|
---|
42 | prevlevel=N
|
---|
43 | umask 022
|
---|
44 | export runlevel prevlevel
|
---|
45 |
|
---|
46 | trap ":" INT QUIT TSTP
|
---|
47 |
|
---|
48 | #
|
---|
49 | # Collect all the S scripts in /etc/rcS.d and execute them
|
---|
50 | #
|
---|
51 |
|
---|
52 | for i in /etc/rcS.d/S*
|
---|
53 | do
|
---|
54 | [ ! -f "$i" ] && continue;
|
---|
55 | $i start
|
---|
56 | error_value=$?
|
---|
57 |
|
---|
58 | if [ $error_value != 0 ]
|
---|
59 | then
|
---|
60 | print_error_msg
|
---|
61 | fi
|
---|
62 | done
|
---|
63 |
|
---|
64 | # End /etc/init.d/rcS
|
---|
65 | <userinput>EOF</userinput></screen></para>
|
---|
66 |
|
---|
67 | </sect1>
|
---|
68 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.