Local file systems that are not required to boot the Solaris OS are mounted by the svc:/system/filesystem/local:default service. When any of those file systems are unable to be mounted, the service enters a maintenance state. System startup continues, and any services which do not depend on filesystem/local are started. Services which require filesystem/local to be online before starting through dependencies are not started.
To change the configuration of the system so that a sulogin prompt appears immediately after the service fails instead of allowing system startup to continue, follow the procedure below.
Modify the system/console-login service.
# svccfg -s svc:/system/console-login svc:/system/console-login> addpg site,filesystem-local dependency svc:/system/console-login> setprop site,filesystem-local/entities = fmri: svc:/system/filesystem/local svc:/system/console-login> setprop site,filesystem-local/grouping = astring: require_all svc:/system/console-login> setprop site,filesystem-local/restart_on = astring: none svc:/system/console-login> setprop site,filesystem-local/type = astring: service svc:/system/console-login> end |
Refresh the service.
# svcadm refresh console-login |
Save the following commands into a script and save it as /etc/rcS.d/S01site-customfs.
#!/bin/sh # # This script adds a dependency from console-login -> filesystem/local # This forces the system to stop the boot process and drop to an sulogin prompt # if any file system in filesystem/local fails to mount. PATH=/usr/sbin:/usr/bin export PATH svccfg -s svc:/system/console-login << EOF addpg site,filesystem-local dependency setprop site,filesystem-local/entities = fmri: svc:/system/filesystem/local setprop site,filesystem-local/grouping = astring: require_all setprop site,filesystem-local/restart_on = astring: none setprop site,filesystem-local/type = astring: service EOF svcadm refresh svc:/system/console-login [ -f /etc/rcS.d/S01site-customfs ] && rm -f /etc/rcS.d/S01site-customfs |
When a failure occurs with the system/filesystem/local:default service, the svcs -vx command should be used to identify the failure. After the failure has been fixed, the following command clears the error state and allows the system boot to continue: svcadm clear filesystem/local.