The Sysvinit package contains programs for controlling the startup,
running, and shutdown of the system.
Approximate build time: 0.1 SBU
Required disk space: 0.9 MB
Sysvinit installation depends on: Binutils, Coreutils,
GCC, Glibc, and Make
6.55.1. Installation of Sysvinit
Sysvinit-2.85 contains a “buffer
overflow” bug. Under some conditions, it modifies the
values of environment variables. Fix this with:
patch -Np1 -i ../sysvinit-2.85-proclen-1.patch
When run-levels are changed (for example, when halting the system),
init sends termination signals
to those processes that init
itself started and that should not be running in the new run-level.
While doing this, init outputs
messages like “Sending processes the TERM
signal” which seem to imply that it is sending these
signals to all currently running processes. To avoid this
misinterpretation, modify the source so that these messages read
like “Sending processes started by init
the TERM signal” instead:
sed -i 's@Sending processes@& started by init@g' \
src/init.c
Compile the package:
make -C src
Install the package:
make -C src install
6.55.2. Configuring Sysvinit
Create a new file /etc/inittab by running
the following:
cat > /etc/inittab << "EOF"
# Begin /etc/inittab
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc sysinit
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
su:S016:once:/sbin/sulogin
1:2345:respawn:/sbin/agetty -I '\033(K' tty1 9600
2:2345:respawn:/sbin/agetty -I '\033(K' tty2 9600
3:2345:respawn:/sbin/agetty -I '\033(K' tty3 9600
4:2345:respawn:/sbin/agetty -I '\033(K' tty4 9600
5:2345:respawn:/sbin/agetty -I '\033(K' tty5 9600
6:2345:respawn:/sbin/agetty -I '\033(K' tty6 9600
# End /etc/inittab
EOF
The -I '\033(K' option tells
agetty to send this escape
sequence to the terminal before doing anything else. This escape
sequence switches the console character set to a user-defined one,
which can be modified by running the setfont program. The console initscript from the LFS-Bootscripts
package calls the setfont
program during system startup. Sending this escape sequence is
necessary for people who use non-ISO 8859-1 screen fonts, but it
does not effect native English speakers.
6.55.3. Contents of Sysvinit
Installed programs: halt, init, killall5, last, lastb
(link to last), mesg, pidof (link to killall5), poweroff (link to
halt), reboot (link to halt), runlevel, shutdown, sulogin,
telinit (link to init), utmpdump, and wall
Short Descriptions
-
halt
-
Normally invokes shutdown
with the -h option, except
when already in run-level 0, then it tells the kernel to halt
the system; it notes in the file /var/log/wtmp that the system is being
brought down
-
init
-
The first process to be started when the kernel has
initialized the hardware which takes over the boot process
and starts all the proceses it is instructed to
-
killall5
-
Sends a signal to all processes, except the processes in its
own session so it will not kill the shell running the script
that called it
-
last
-
Shows which users last logged in (and out), searching back
through the /var/log/wtmp file; it
also shows system boots, shutdowns, and run-level changes
-
lastb
-
Shows the failed login attempts, as logged in /var/log/btmp
-
mesg
-
Controls whether other users can send messages to the current
user's terminal
-
pidof
-
Reports the PIDs of the given programs
-
poweroff
-
Tells the kernel to halt the system and switch off the
computer (see halt)
-
reboot
-
Tells the kernel to reboot the system (see halt)
-
runlevel
-
Reports the previous and the current run-level, as noted in
the last run-level record in /var/run/utmp
-
shutdown
-
Brings the system down in a secure way, signaling all
processes and notifying all logged-in users
-
sulogin
-
Allows root to log in;
it is normally invoked by init when the system goes into single
user mode
-
telinit
-
Tells init which
run-level to change to
-
utmpdump
-
Displays the content of the given login file in a more
user-friendly format
-
wall
-
Writes a message to all logged-in users