安装的程序: halt, init,
killall5, last, lastb (链接到 last), mesg, pidof (链接到
killall5), poweroff (链接到 halt), reboot (链接到 halt),
runlevel, shutdown, sulogin, telinit (链接到 init), utmpdump, wall
Sysvinit 软件包包含一些控制系统启动、运行、关闭的程序。
当运行级别被改变(比如,正在关闭系统),init 向那些由 init 自身开启的,并且将不会在新的运行级别里运行的线程发送终端信号。当 init 做上面这些事情时,会输出像"Sending processes the TERM signal"这样的信息,这看起来就像它正在向那些系统正在运行的程序发送上面这些信息一样。要避免错误地理解这个信息,可以修改源码以便可以代替为读起来像"Sending processes started by init the TERM signal"的信息,可以用下面命令:
sed -i 's@Sending processes@& started by init@g' \ src/init.c
编译软件包:
make -C src
安装软件包:
make -C src install
运行下面命令,创建一个新的 /etc/inittab 文件:
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
选项 -I '\033(K' 告诉 agetty 在做任何动作前,先将该转义序列发送到终端。这个转义序列会将控制台字符集设置为用户使用 setfont 程序指定的字符集。LFS-Bootscripts 中的 console 初始化脚本会在系统启动时调用 setfont 程序。对于那些使用非 ISO 8859-1 屏幕字体的用户来说,发送这个转义序列是必须的,但不会影响到母语是英语的用户。