The Oracle Solaris Service Management Facility (SMF) provides an infrastructure that augments the traditional UNIX startup scripts, init run levels, and configuration files. With the introduction of SMF, the boot process creates fewer messages now. Services do not display a message by default when they are started. All of the information that was provided by the boot messages can now be found in a log file for each service that is in /var/svc/log. You can use the svcs command to help diagnose boot problems.
To generate a message when each service is started during the boot process, use the –v option with the boot command.
When a system is being booted you can select the milestone to boot to or select the level of error messages to be recorded.
You can choose a specific milestone to boot to by using this command on a SPARC based system.
ok boot -m milestone=milestone
The default milestone is all which starts all enabled services. Another useful milestone is none which starts only init, svc.startd and svc.configd. This milestone provides a very useful debugging environment where services can be started manually. See How to Investigate Problems Starting Services at System Boot in Managing System Services in Oracle Solaris 11.3 for instructions on how to use the none milestone.
The run-level equivalents single-user, multi-user, and multi-user-server are also available, but are not commonly used. The multi-user-server milestone, in particular does not start any services which are not a dependency of that milestone, so may not include important services.
You can choose which level of logging for svc.startd using the following command:
ok boot -m logging-level
The logging levels that you can select are quiet, verbose and debug. See Specifying the Amount of Startup Messaging in Managing System Services in Oracle Solaris 11.3 for specific information about the logging levels.
To boot an x86 based system to a specific milestone or choose the level of logging for svc.startd, edit the GRUB menu at boot time to add the –m smf-options kernel argument to the end of the $multiboot line of the specified boot entry. For example:
$multiboot /ROOT/s11.3_18/@/$kern $kern -B $zfs_bootfs -m logging-level
Most of the features that are provided by SMF occur behind the scenes, so users are not typically aware of these features. Other features are accessed by new commands.
Here is a list of the behavior changes that are most visible:
The boot process creates many fewer messages. Services do not display a message by default when they are started. All of the information that was provided by the boot messages can now be found in a log file for each service that is in /var/svc/log. You can use the svcs command to help diagnose boot problems. In addition, you can use the –v option to the boot command, which generates a message when each service is started during the boot process.
Because services are automatically restarted if possible, it might seem that a process fails to terminate. If the service is defective, the service is placed in maintenance mode, but normally a service is restarted if the process for the service is terminated. The svcadm command should be used to stop the processes of any SMF service that should not be running.
Many of the scripts in /etc/init.d and /etc/rc*.d have been removed. The scripts are no longer needed to enable or disable a service. Entries from /etc/inittab have also been removed so that the services can be administered by using SMF. Scripts and inittab entries that are provided by an ISV or are locally developed will continue to run. The services might not start at exactly the same point in the boot process, but they are not started before the SMF services..