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 ([email protected])

Version 1.20, with patches for singleuser mode by Werner Almesberger

Richard Gooch <[email protected]>

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/.


  Copyright 1992, 1993 Rickard E. Faith (faithcs.unc.edu)
May be distributed under the GNU General Public License
" for emacs's hilit19 mode :-)