blob: cbaf093b1d2b0710eed1cd31e2a2579ad59edef2 [file] [log] [blame]
.\" Copyright 1992, 1993 Rickard E. Faith (
.\" May be distributed under the GNU General Public License
.\" " for emacs's hilit19 mode :-)
.TH SIMPLEINIT 8 "25 February 2001" "Linux 0.99" "Linux Programmer's Manual"
simpleinit \- process control initialization
.B init
.RB [ single ]
.RI [ script ]
.B init
is invoked as the last step in the Linux boot sequence. If the
.B single
option is used, or if the file
.I /etc/singleboot
exists, then single user mode will be entered, by starting
.IR /bin/sh .
If the file
.I /etc/securesingle
exists, then the root password will be required to start single user mode.
If the root password does not exist, or if
.I /etc/passwd
does not exist, the checking of the password will be skipped.
If the file
.I /etc/TZ
exists, then the contents of that file will be read, and used to set the TZ
environment variable for each process started by
.BR simpleinit .
This "feature" is only available if it's configured at compile-time. It's
not normally needed.
After single user mode is terminated, the
.I /etc/rc
file is executed, and the information in
.I /etc/inittab
will be used to start processes. Alternatively, the \fI/etc/inittab\fP
file may be configured to run a different boot script. See below for
Because of the number of init programs which are appearing in the Linux
community, the documentation for the
.I /etc/inittab
file, which is usually found with the
.BR inittab (5)
man page, is presented here:
The format is
.B bootprog=file
.B fileprefix=string
.B PATH=search path
.B INIT_PATH=search path
.B "ttyline:termcap-entry:getty-command"
.B finalprog=path
An example is as follows:
bootprog =
fileprefix = /sbin/init.d/
PATH = /usr/sbin:/usr/bin:/sbin:/bin
INIT_PATH = /sbin/init.d
tty1:linux:/sbin/getty 9600 tty1
tty2:linux:/sbin/getty 9600 tty2
tty3:linux:/sbin/getty 9600 tty3
tty4:linux:/sbin/getty 9600 tty4
# tty5:linux:/sbin/getty 9600 tty5
# ttyS1:dumb:/sbin/getty 9600 ttyS1
# ttyS2:dumb:/sbin/getty -m -t60 2400 ttyS2
finalprog = /sbin/rc.xdm
Lines beginning with the
.B #
character are treated as comments. Please see documentation for the
.BR getty (8)
command that you are using, since there are several of these in the Linux
community at this time.
The \fBbootprog\fP value is appended to the \fBfileprefix\fP value,
and the result specifies the boot programme (script) to run. If
unspecified, the default is \fI/etc/rc\fP. If the boot programme is a
directory, then all scripts in that directory tree are executed, in
parallel. See the \fBneed\fP(8) programme for details on how to
elegantly control order of execution and manage dependencies.
The \fBPATH\fP value is assigned to the PATH environment variable of
child processes (boot scripts).
The \fBINIT_PATH\fP value is used by simpleinit(8) itself to find the
location of scripts to run (if an absolute path is not given). If
unset and the boot programme is a directory, that directory is used.
Finally, if the script cannot be found in this path, the standard
\fBPATH\fP is used. This separation allows boot scripts to invoke
programmes of the same name without conflict and without needing to
specify absolute paths.
The \fBfinalprog\fP value specifies the path of the programme to run
after all \fBgetty\fP(8) instances are spawned. At bootup, it is
passed a single argument: "start". At shutdown, it is called again,
this time with the argument: "stop".
\fBsimpleinit\fP(8) responds to signals in a variety of ways:
The \fI/etc/inittab\fP configuration file will be read again.
This flips a toggle, which controls whether more processes will be
\fBsimpleinit\fP(8) will sync a few times, and try to start
\fBreboot\fP(8). Failing this, it will execute the system
\fBreboot\fP(2) call. Under Linux, it is possible to configure the
Ctrl-Alt-Del sequence to send a signal to the \fBinit\fP process
instead of rebooting the system (\fBsimpleinit\fP(8) does this by
The \fBreboot\fP(8) programme is executed in place of the
\fBsimpleinit\fP(8) programme. This allows \fBreboot\fP(8) to cleanly
remount (read-only) the root filesystem, even if the old inode for the
\fBinit\fP process was unlinked.
.I /etc/inittab
.I /etc/singleboot
.I /etc/securesingle
.I /etc/TZ
.I /etc/passwd
.I /etc/rc
.BR inittab (5),
.BR ctrlaltdel (8)
.BR reboot (8),
.BR termcap (5),
.BR getty (8),
.BR agetty (8),
.BR shutdown (8),
.BR initctl (8)
This program is called
.B simpleinit
to distinguish it from the System V compatible versions of init which are
starting to appear in the Linux community.
.B simpleinit
should be linked to, or made identical with,
.I init
for correct functionality.
Peter Orbaek (
Version 1.20, with patches for singleuser mode by Werner Almesberger
Richard Gooch <>
Dependency support
The simpleinit command is part of the util-linux-ng package and is available from