5.5. Init: Process Control Initialization

Once the kernel has finished booting, it passes control to the user process init, which is located at /sbin/init, or the program path specified in the init_path variable in loader.

5.5.1. Automatic Reboot Sequence

The automatic reboot sequence makes sure that the filesystems available on the system are consistent. If they are not, and fsck can not fix the inconsistencies, init drops the system into single-user mode for the system administrator to take care of the problems directly.

5.5.2. Single-User Mode

This mode can be reached through the automatic reboot sequence, or by the user booting with the -s or setting the boot_single variable in loader.

It can also be reached by calling shutdown without the reboot (-r) or halt (-h) options, from multi-user mode.

If the system console console is set to insecure in /etc/ttys, then the system prompts for the root password before initiating single-user mode.

Example 5-3. An insecure console in /etc/ttys

    # name  getty                           type    status          comments
    #
    # This entry needed for asking password when init goes to single-user mode
    # If you want to be asked for password, change "secure" to "insecure" here
    console none                            unknown off insecure

Note: An insecure console means that you consider your physical security to the console to be insecure, and want to make sure only someone who knows the root password may use single-user mode, and it does not mean that you want to run your console insecurely. Thus, if you want security, choose insecure, not secure.

5.5.3. Multi-User Mode

If init finds your filesystems to be in order, or once the user has finished in single-user mode, the system enters multi-user mode, in which it starts the resource configuration of the system.

5.5.3.1. Resource Configuration (rc)

The resource configuration system reads in configuration defaults from /etc/defaults/rc.conf, and system-specific details from /etc/rc.conf, and then proceeds to mount the system filesystems mentioned in /etc/fstab, start up networking services, starts up miscellaneous system daemons, and finally runs the startup scripts of locally installed packages.

rc(8) is a good reference to the resource configuration system, as is examining the scripts themselves.

For questions about FreeBSD, e-mail <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.