SIMPLEINIT(8) Linux Programmer's Manual SIMPLEINIT(8)
NAME
simpleinit - process control initialization
SYNOPSIS
init [ single ] [ script ]
DESCRIPTION
init is invoked as the last step in(1,8) the Linux boot sequence. If the
single option is used, or if(3,n) the file(1,n) /etc/singleboot exists, then sin-
gle user mode will be entered, by starting /bin/sh. If the file(1,n)
/etc/securesingle exists, then the root password will be required to
start single user mode. If the root password does not exist, or if(3,n)
/etc/passwd(1,5) does not exist, the checking of the password will be
skipped.
If the file(1,n) /etc/TZ exists, then the contents of that file(1,n) will be
read(2,n,1 builtins), and used to set(7,n,1 builtins) the TZ environment variable for each process
started by simpleinit. This "feature" is only available if(3,n) it's con-
figured at compile-time. It's not normally needed.
After single user mode is terminated, the /etc/rc file(1,n) is executed, and
the information in(1,8) /etc/inittab will be used to start processes. Alter-
natively, the /etc/inittab file(1,n) may be configured to run a different
boot script. See below for details.
THE INITTAB FILE
Because of the number of init programs which are appearing in(1,8) the Linux
community, the documentation for the /etc/inittab file(1,n), which is usu-
ally found with the inittab(5) man(1,5,7) page, is presented here:
The format is
bootprog=file(1,n)
fileprefix=string(3,n)
PATH=search path
INIT_PATH=search path
ttyline:termcap-entry:getty-command
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 # character are treated as comments. Please
see documentation for the getty (8) command that you are using, since
there are several of these in(1,8) the Linux community at this time.
The bootprog value is appended to the fileprefix value, and the result
specifies the boot programme (script) to run. If unspecified, the
default is /etc/rc. If the boot programme is a directory, then all
scripts in(1,8) that directory tree are executed, in(1,8) parallel. See the
need(8) programme for details on how to elegantly control order of exe-
cution and manage dependencies.
The PATH value is assigned to the PATH environment variable of child
processes (boot scripts).
The INIT_PATH value is used by simpleinit(8) itself to find the loca-
tion of scripts to run (if(3,n) an absolute path is not given). If unset and
the boot programme is a directory, that directory is used. Finally, if(3,n)
the script cannot be found in(1,8) this path, the standard PATH is used.
This separation allows boot scripts to invoke programmes of the same
name without conflict and without needing to specify absolute paths.
The finalprog value specifies the path of the programme to run after
all getty(8) instances are spawned. At bootup, it is passed a single
argument: "start". At shutdown(2,8), it is called again, this time(1,2,n) with the
argument: "stop".
SIGNALS
simpleinit(8) responds to signals in(1,8) a variety of ways:
SIGHUP The /etc/inittab configuration file(1,n) will be read(2,n,1 builtins) again.
SIGTSTP
This flips a toggle, which controls whether more processes will
be spawned.
SIGINT simpleinit(8) will sync(1,2,8) a few times, and try to start reboot(8).
Failing this, it will execute the system reboot(2) call. Under
Linux, it is possible to configure the Ctrl-Alt-Del sequence to
send(2,n) a signal(2,7) to the init process instead of rebooting the sys-
tem (simpleinit(8) does this by default).
SIGQUIT
The reboot(8) programme is executed in(1,8) place of the sim-
pleinit(8) programme. This allows reboot(8) to cleanly remount
(read-only) the root filesystem, even if(3,n) the old inode for the
init process was unlinked.
FILES
/etc/inittab
/etc/singleboot
/etc/securesingle
/etc/TZ
/etc/passwd(1,5)
/etc/rc
SEE ALSO
inittab(5), ctrlaltdel(8) reboot(8), termcap(5), getty(8), agetty(8),
shutdown(2,8)(8), initctl(8)
BUGS
This program is called simpleinit to distinguish it from the System V
compatible versions of init which are starting to appear in(1,8) the Linux
community. simpleinit should be linked to, or made identical with,
init for correct functionality.
AUTHOR
Peter Orbaek (poe@daimi.aau.dk)
Version 1.20, with patches for singleuser mode by Werner Almesberger
Richard Gooch <rgooch@atnf.csiro.au>
Dependency support
Linux 0.99 25 February 2001 SIMPLEINIT(8)