System Administration Guide: Basic Administration

Using Fast Reboot on the x86 Platform (Task Map)

Task 

Description 

For Instructions 

Initiate a fast reboot of the system. 

Use the reboot command with -f option to initiate a fast reboot of the system.

x86: How to Initiate a Fast Reboot of the System

Use Fast Reboot to reboot to a specific UFS boot disk or a ZFS root pool. 

The fast reboot capability can be used to reboot to a specific UFS boot disk or a specific ZFS root pool. 

x86: Initiating a Fast Reboot to a Specific UFS Boot Disk or a ZFS Root Pool

Use Fast Reboot to initiate a reboot of a directly mounted root (/) disk or root dataset.

After mounting a root (/) disk or root dataset, you can initiate a fast reboot of the system.

x86: How to Initiate a Fast Reboot of a Directly Mounted Root Disk or Root Dataset

Initiate a fast reboot to an alternate BE. 

Use the rebootcommand with the -f and -e options to fast reboot to an alternate BE.


Note –

Because the -e option of the reboot command has dependencies on Solaris Live Upgrade, this option is not currently supported in the OpenSolaris 2008.11 release.


x86: Initiating a Fast Reboot to an Alternate Boot Environment

Initiate a fast reboot by directly specifying an alternate dataset. 

If you are running the OpenSolaris 2008.11 release, you cannot use the reboot -f -e command to reboot to an alternate BE. Instead, use the reboot command with the just the -f option, directly specifying which dataset to boot.

x86: Initiating a Fast Reboot to an Alternate Boot Environment in the OpenSolaris 2008.11 OS

Facilitate a fast reboot of the system by using the uadmin command.

The uadmin command has been modified to support the Fast Reboot feature. You can facilitate a fast reboot by using this method.

x86: Facilitating a Fast Reboot by Using the uadmin Command

Change the behavior of the reboot command to make Fast Reboot the default.

Adding the /etc/fastreboot file to a system enables the Fast Reboot feature by default.

x86: Making Fast Reboot the Default Behavior of the reboot Command

Troubleshoot issues and conditions that might prevent the Fast Reboot feature from working. 

Under certain conditions, the fast reboot capability does not work. In some of these situations, a workaround is available. 

x86: Troubleshooting Conditions That Might Prevent Fast Reboot From Working

x86: Fast Reboot Implementation

The following are key components of the Fast Reboot implementation:

The following procedures and examples describe how to use the fast reboot capability on an x86 based system. For overview information, see the section, x86: Introducing Fast Reboot.

Procedurex86: How to Initiate a Fast Reboot of the System

This procedure describes how to use the reboot command with -f option to initiate a fast reboot of an x86 based system.

  1. Become superuser or assume an equivalent role.

  2. Initiate a fast reboot of the system:

    • To reboot to a new kernel, you would type:


      # reboot -f -- '/platform/i86pc/new-kernel-name/amd64/unix -k'
      
    • To initiate a fast reboot using boot arguments from the previous boot, you would type:


      # reboot -f
      

    Note –

    The boot archive is derived from the kernel argument. In the event of a failure in the fast reboot path, such as insufficient memory, the normal reset path is used.



Example 12–14 x86: Using Fast Reboot to Reboot a 64-Bit Kernel


# reboot -f -- '/platform/i86pc/kernel/amd64/unix'
Oct 21 15:06:35 tonyspizza reboot: initiated by ... on /dev/console
Oct 21 15:06:36 /usr/lib/snmp/snmpdx: received signal 15
Fast reboot.
syncing file systems... done
SunOS Release 5.11 Version onnv-gate:2008-10-20 64-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
DEBUG enabled
Hostname: tonyspizza
NIS domain name is lab.sfbay.sun.com
/dev/rdsk/c1d0s7 is clean
Reading ZFS config: done.


Example 12–15 x86: Using Fast Reboot Without Additional Boot Arguments

This example fast reboots a system using the boot arguments that were used for the previous boot.


# reboot -f
Oct 21 15:02:38 tonyspizza reboot: initiated by ... on /dev/console
Oct 21 15:02:38 tonyspizza rpcbind: rpcbind terminating on signal.
Oct 21 15:02:38 tonyspizza syslogd: going down on signal 15
Fast reboot.
syncing file systems... done
Loading kmdb...
SunOS Release 5.11 Version onnv-gate:2008-10-20 64-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
DEBUG enabled
Hostname: tonyspizza
NIS domain name is mpklab.sfbay.sun.com
/dev/rdsk/c1d0s7 is clean
Reading ZFS config: done.

x86: Initiating a Fast Reboot to a Specific UFS Boot Disk or a ZFS Root Pool

You can specify an alternate UFS boot disk in any of the following ways:


# reboot -f -- '/dev/dsk/c0t0s3'
# reboot -f -- '/dev/dsk/c0t0s3 -k'
# reboot -f -- '/dev/dsk/c0t0s3
# /platform/i86pc/mykernel/amd64/unix -k'

You can specify a ZFS root dataset in any of the following ways:


# reboot -f -- 'rpool/zfsbe1'
# reboot -f -- 'rpool/zfsbe2 -k'
# reboot -f -- 'rpool/zfsbe3 /platform/i86pc/mykernel/amd64/unix -k'

Note –

When rebooting to a different root (/) disk or root dataset by using a mount point or a boot environment, be aware that no transient menu entry is added to the menu.lst file.


Procedurex86: How to Initiate a Fast Reboot of a Directly Mounted Root Disk or Root Dataset

You can use Fast Reboot to directly mount a root (/) disk or root dataset, then reboot to it:

  1. Become superuser or assume an equivalent role.

  2. Mount the root (/) disk.

    For example:


    # mount /dev/dsk/c1d0s0 /mnt
    
    • To mount a root dataset, type:


      # zfs mount rpool/dataset
      
  3. Reboot the mounted disk or mounted dataset.

    For example:


    # reboot -f -- '/mnt/platform/i86pc/kernel/amd64/unix'
    

x86: Initiating a Fast Reboot to an Alternate Boot Environment

You can optionally use the reboot command with the -f and -e options to specify an alternate BE.


# reboot -f -e alternate-be-name

Note –

The -e option has dependencies on Solaris Live upgrade packages, in particular the lumount and luumount commands. Because Solaris Live Upgrade is not supported in the OpenSolaris release, you cannot use this option to specify an alternate BE. Instead, use the -f option by itself to directly specifying the alternate dataset. See x86: Initiating a Fast Reboot to an Alternate Boot Environment in the OpenSolaris 2008.11 OS.



Example 12–16 x86: Using Fast Reboot to Reboot to an Alternate Boot Environment

This example shows how to fast reboot to an alternate BE by using the reboot command with the -f and the-e options. Note that in this example, the bootadm list-menu command is used to display a list of the bootable environments that are available on a system. A fast reboot of the s3 BE is then initiated.


# bootadm list-menu
The location for the active GRUB menu is: /boot/grub/menu.lst
default 0
timeout 10
0 Solaris Express Community Edition snv_82 X86
1 Solaris xVM
2 Solaris failsafe
3 s0
4 s0 Solaris xVM
5 s0 failsafe
6 s4
7 s4 Solaris xVM
8 s4 failsafe
9 s3
10 s3 Solaris xVM
11 s3 failsafe

# reboot -f -e s3

reboot: Halting 1 zone.
Oct 21 15:16:51 tonyspizza reboot: initiated by ... on /dev/console
reboot: Completing system halt.
Oct 21 15:16:57 tonyspizza syslogd: going down on signal 15
Fast reboot.
syncing file systems... done
SunOS Release 5.11 Version snv_99 64-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
DEBUG enabled
Configuring devices.
Hostname: tonyspizza
NIS domain name is lab.sfbay.sun.com
Loading smf(5) service descriptions: 2/2
/dev/rdsk/c1d0s7 is clean
Reading ZFS config: done.

x86: Initiating a Fast Reboot to an Alternate Boot Environment in the OpenSolaris 2008.11 OS

The -e option of the reboot command is not supported in the OpenSolaris 2008.11 release. To fast reboot to an alternate BE in this release, use the reboot -f command, directly specifying which dataset to boot. The following examples show how to fast reboot to an alternate BE by using this method.

For example to fast reboot to the zfsbe1 boot environment, you would type:


# reboot -f -- 'rpool/zfsbe1'

To fast reboot to the zfsbe3 boot environment, in 64-bit mode, with the kernel debugger enabled, you would type:


# reboot -f -- 'rpool/zfsbe3 /platform/i86pc/kernel/amd64/unix -k'

x86: Facilitating a Fast Reboot by Using the uadmin Command

To facilitate the use of the new -f option of the reboot command, the AD_FASTREBOOT function has been added to the current function list for the uadmin command. This function is recognized by commands that utilize these function numbers.

For example, to reset the system using the current boot arguments by using the fast reboot path, you would type:


# uadmin 2 8

Caution – Caution –

Using the uadmin command to fast reboot a system does not update the boot archive or the menu.lst file.


For more information about this function, see the uadmin(1M) man page.

x86: Making Fast Reboot the Default Behavior of the reboot Command

To make a fast reboot the default behavior on your system, create a fastreboot file in the /etc directory.


# touch /etc/fastreboot

The addition of the fastreboot file on the system changes the default behavior of the reboot command, thereby eliminating the need to use the -f option to initiate a fast reboot.

To revert to the original behavior of the reboot command, remove the file.


# rm /etc/fastreboot

Note that removing this file does not remove fast reboot capability from the system.

x86: Troubleshooting Conditions That Might Prevent Fast Reboot From Working

The following are possible conditions under which the Fast Reboot feature might not work: