SIMPLEINIT(8)

NAME
simpleinit - process control initialization

SYNOPSIS
init [single] [script]

DESCRIPTION
init is invoked as the last step in the Linux boot sequence. If the single option is used, or if the file /etc/singleboot exists, then single user mode will be entered, by starting /bin/sh. If the file /etc/securesingle exists, then the root password will be required to start single user mode. If the root password does not exist, or if /etc/passwd does not exist, the checking of the password will be skipped.

If the file /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 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 /etc/rc file is executed, and the information in /etc/inittab will be used to start processes. Alternatively, the /etc/inittab file 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 the Linux community, the documentation for the /etc/inittab file, which is usually found with the inittab(5) man page, is presented here:

The format is

    bootprog=file

    fileprefix=string

    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 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 that directory tree are executed, in parallel. See the need(8) programme for details on how to elegantly control order of execution 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 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 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, it is called again, this time with the argument: "stop".

SIGNALS
simpleinit(8) responds to signals in a variety of ways:

SIGHUP
    The /etc/inittab configuration file will be read again.

SIGTSTP
    This flips a toggle, which controls whether more processes will be spawned.

SIGINT
    simpleinit(8) will sync 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 a signal to the init process instead of rebooting the system (simpleinit(8) does this by default).

SIGQUIT
    The reboot(8) programme is executed in place of the simpleinit(8) programme. This allows reboot(8) to cleanly remount (read-only) the root filesystem, even if the old inode for the init process was unlinked.

FILES
/etc/inittab
/etc/singleboot
/etc/securesingle
/etc/TZ
/etc/passwd
/etc/rc

SEE ALSO
inittab(5), ctrlaltdel(8) reboot(8), termcap(5), getty(8), agetty(8), shutdown(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 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

AVAILABILITY
The simpleinit command is part of the util-linux-ng package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.