Go to main content

Booting and Shutting Down Oracle® Solaris 11.3 Systems

Exit Print View

Updated: October 2017
 
 

Accelerating the Reboot Process

The Fast Reboot feature of Oracle Solaris is supported on both SPARC and x86 platforms. The Fast Reboot feature implements an in-kernel boot loader that loads the kernel into memory and then switches to that kernel, so that the reboot process occurs within seconds.

Support for the Fast Reboot feature is facilitated by a new boot-config service, svc:/system/boot-config:default. This service provides a means for setting or changing the default boot configuration properties of a system, if required. When the config/fastreboot_default property is set to true, the system automatically performs a fast reboot. By default, this property is set to true on an x86 based system and false on a SPARC based system.

On an x86 based system, a fast reboot of the system bypasses the system firmware (BIOS or UEFI) and the boot loader processes. Fast Reboot and Panic Fast Reboot (a fast reboot of system after a system panic) are enabled by default on x86 platforms, so there is no need to use the –f option with the reboot command to initiate a fast reboot of an x86 based system.

    The Fast Reboot feature works differently on SPARC based systems than it does on an x86 based systems. Note the following additional information about Fast Reboot support on SPARC platforms:

  • Fast Reboot is not supported on sun4u systems.

  • Fast Reboot is supported on sun4v systems. However, a fast reboot of a SPARC based system is not the same as a fast reboot of an x86 based system. On SPARC sun4v systems, a fast reboot is a minimal hypervisor initiated restart that delivers that same basic performance as a fast reboot of an x86 based system.

  • Fast Reboot behavior on SPARC based systems is not enabled by default. To initiate a fast reboot of a SPARC based system, you must use the –f option with the reboot command. Or, to make a fast reboot the default behavior, you can set the config/fastreboot_default property to true. For instructions, see Changing the Default Fast Reboot Behavior.

  • On SPARC based systems the boot-config service also requires the solaris.system.shutdown authorization as the action_authorization and value_authorization.

x86: About the quiesce Function

The system's capability to bypass the firmware when booting a new OS image has dependencies on the device drivers' implementation of a new device operation entry point, quiesce. On supported drivers, this implementation quiesces a device, so that at completion of the function, the driver no longer generates interrupts. This implementation also resets the device to a hardware state, from which the device can be correctly configured by the driver's attach routine, without a power cycle of the system or being configured by the firmware. For more information about this functionality, see the quiesce(9E) and dev_ops(9S) man pages.


Note - Not all device drivers implement the quiesce function. For troubleshooting instructions, see Conditions Under Which Fast Reboot Might Not Work and How to Clear a Failed Automatic Boot Archive Update on a System That Does Not Support Fast Reboot.

How to Initiate a Fast Reboot of a System

  1. Assume the root role.

    See Using Your Assigned Administrative Rights in Securing Users and Processes in Oracle Solaris 11.3.

  2. Depending on the system's platform, do one of the following:
    • On a SPARC based system, type the following command:
      # reboot -f
    • On an x86 based system, type either of the following commands:
      # reboot
      # init 6

      Running either of these commands reboots the system to the default entry in the grub.cfg file.

x86: Initiating a Fast Reboot of a System to a Newly Activated Boot Environment

There are several ways that you can perform a fast reboot of an x86 based system to an alternate boot environment. The following examples illustrate some of these methods.

Example 38  x86: Initiating a Fast Reboot of a System to a Newly Activated Boot Environment

The following example shows activate a boot environment named 2013-06-10-be, so that it will be fast rebooted.

# beadm activate 2013-06-10-be
# reboot
Example 39  x86: Initiating a Fast Reboot of a System While Specifying an Alternate Boot Environment

To fast reboot a system to an alternate boot environment, for example zfsbe2, you would type the following command:

# reboot -- 'rpool/zfsbe2'

To initiate a fast reboot of a system to a dataset named rpool/zfsbe1, you would type the following command:

# reboot -- 'rpool/zfsbe1'

For example, you would initiate a fast reboot of a system to an alternate ZFS root dataset as follows:

# reboot -- 'rpool/ROOT/zfsroot2'
Example 40  x86: Initiating a Fast Reboot of a System to an Alternate Boot Environment With the Kernel Debugger Enabled

Initiate a fast reboot of a system to the zfsbe3 boot environment as follows:

# reboot -- 'rpool/zfsbe3 /platform/i86pc/kernel/amd64/unix -k'
Example 41  x86: Initiating a Fast Reboot of a System to a New Kernel

Initiate a fast reboot of a system to a new kernel named my-kernel as follows:

# reboot -- '/platform/i86pc/my-kernel/amd64/unix -k'
Example 42  x86: Initiating a Fast Reboot of a Mounted Disk or a Mounted Dataset

Initiate a fast reboot of a mounted disk or a mounted dataset as follows:

# reboot -- '/mnt/platform/i86pc/my-kernel/amd64/unix -k'
Example 43  x86: Initiating a Fast Reboot of a System to a Single-User State With the Kernel Debugger Enabled

Initiate a fast reboot of a system to a single-user state, with the kernel debugger enabled, as follows:

# reboot -- '-ks'

Changing the Default Fast Reboot Behavior

The Fast Reboot feature is controlled by SMF and implemented through a boot configuration service, svc:/system/boot-config. The boot-config service provides a means for setting or changing the default boot parameters.

The fastreboot_default property of the boot-config service enables an automatic fast reboot of the system when either the reboot or the init 6 command is used. When the config/fastreboot_default property is set to true, the system automatically performs a fast reboot, without the need to use the reboot –f command. By default, this property's value is set to true on an x86 based system and false on a SPARC based system.

Example 44  x86: Configuring Properties of the boot-config Service

    The svc:/system/boot-config:default service consists of the following properties:

  • config/fastreboot_default

  • config/fastreboot_onpanic

These properties can be configured by using the svccfg and svcadm commands.

For example, to disable the default behavior of the fastreboot_onpanic property on an x86 based system, you would set the property's value to false, as shown here:

# svccfg -s "system/boot-config:default" setprop config/fastreboot_onpanic=false
# svcadm refresh svc:/system/boot-config:default

Changing one property's value does not affect the default behavior of the other property.

For information about managing the boot configuration service through SMF, see the svcadm(1M) and svccfg(1M) man pages.

Example 45  SPARC: Configuring Properties of the boot-config Service

The following example shows how to make a fast reboot the default behavior on a SPARC based system by setting the boot-config SMF service property to true.

# svccfg -s "system/boot-config:default" setprop config/fastreboot_default=true
# svcadm refresh svc:/system/boot-config:default

Setting the property's value to true accelerates the reboot process, which enables systems that support the Fast Reboot feature to bypass certain POST tests. When the property is set to true, you can perform a fast reboot of the system without having to use the –f option with the reboot command.

Initiating a Standard Reboot of a System That Has Fast Reboot Enabled

To reboot a system that has the Fast Reboot feature enabled, without reconfiguring the boot-config service to disable the feature, use the –p option with the reboot command, as shown here:

# reboot -p