System Administration Guide: Basic Administration

What's New in Shutting Down and Booting a System

This section describes new boot features in the Solaris release.

x86: iSCSI Boot

Solaris Express Community Edition, build 104: The iSCSI Boot feature enables you to initialize an operating system over the network from a remote location, such as a storage disk array. This version of iSCSI Boot supports booting from x86 based systems. iSCSI Boot is typically loaded onto an initiator or a diskless client, while the hard disk resides on a SCSI target that is attached to the network. Because the feature uses a standard Ethernet-based infrastructure, data, storage, and networking traffic can be consolidated on a standard network. More information about iSCSI Boot can be found at

Fast Reboot on the x86 Platform

Solaris Express Community Edition, build 100, and the OpenSolaris 2008.11 release: The Fast Reboot feature enables you to reboot an x86 based system, bypassing the firmware and boot loader processes. Fast Reboot 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. This feature is implemented on both 32-bit and 64-bit kernels.

For more information about this feature, see x86: Introducing Fast Reboot.

ZFS Boot Support

Solaris Express Community Edition, builds 88 and 90: This release includes ZFS TM installation and boot support. Systems can now be installed and booted from a ZFS root file system. This implementation applies to both SPARC and x86 based systems. Booting, system operations, and installation procedures have been modified to support this change.

For more information, see Booting From a ZFS Root File System.

x86: New findroot Command

Solaris Express Community Edition, build 88: All Solaris installation methods, including Solaris Live Upgrade, now use the findroot command for specifying which disk slice on an x86 based system to boot. This implementation supports booting systems with ZFS roots, as well as UFS roots. Previously, the root command, root (hd0.0.a), was used to explicitly specify which disk slice to boot. This information is located in the menu.lst file that is used by GRUB.

The most common form of the GRUB menu.lst entry is now:

findroot (rootfs0,0,a)
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive

For more information, see x86: Implementation of the findroot Command.

Support for Specifying Platform by Using bootadm Command

Solaris Express Community Edition, build 87: A new -p option has been added to the bootadm command.

This option enables you to specify the platform or machine hardware class of a client system in situations where the client platform differs from the server platform, for example when administering diskless clients.

Note –

The -p option must be used with the -R option.

# bootadm -p platform -R [altroot]

The specified platform must be one of the following:

For more information, see the bootadm(1M) man page.

Solaris SPARC Bootstrap Process Redesigned

Solaris Express Community Edition, build 80: The Solaris SPARC bootstrap process has been redesigned to increase commonality with the Solaris x86 boot architecture.

Other enhancements include an improved boot architecture that supports booting a system from additional file system types, for example a ZFS file system or a single miniroot for installation, as well as booting from DVD, NFS, or HTTP. These enhancements increase flexibility and reduce maintenance requirements on SPARC based systems.

As part of this redesign, the Solaris boot archives and the bootadm command, previously only available on the Solaris x86 based platform, are now an integral part of the Solaris SPARC boot architecture.

The primary difference between the SPARC and x86 boot architectures is how the boot device and file are selected at boot time. The SPARC based platform continues to use the OpenBootTM PROM (OBP) as the primary administrative interface, with boot options selected by using OBP commands. On x86 based systems, these options are selected through the BIOS and the GRand Unified Bootloader (GRUB) menu.

Note –

Although the implementation of the Solaris SPARC boot has changed, no administrative procedures for booting a SPARC based system have been impacted. Boot tasks that are performed by the system administrator remain the same as they were prior to the boot architecture redesign.

For more information, see the boot(1M) and bootadm(1M) man pages.

For more information in this document, see Understanding the New Solaris SPARC Boot Architecture.

x86: Support for Booting the Solaris OS as a Virtualized Control Domain

Solaris Express Community Edition, build 75: In this release, the GRUB boot loader is capable of booting a Solaris release that runs with hypervisor technology. The hypervisor can securely execute multiple virtual machines simultaneously, each running its own operating system, on a single physical system. You can decide at boot time whether to run the Solaris OS as a virtualized domain0, also called a dom0, or as a stand-alone operating system.

You can run the Solaris OS as a virtualized dom0. Whether to run the Solaris OS as a virtualized dom0 or as a stand-alone operating system is a decision you can make at boot time. To run the Solaris OS as a virtualized dom0, there must first be an entry in the menu.lst file that specifies the hypervisor. The entry can be the default boot entry, or it can be an option that you select manually at boot time. Note that when you upgrade your system to a Solaris release that includes this capability, the bootadm command automatically adds a menu entry for the hypervisor to the menu.lst file.

The bootadm command installs a default boot entry in the menu.lst file that is similar to the following:

kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS 
module$ /platform/i86pc/$ISADIR/boot_archive

Note –

The format for entries that are used in the menu.lst file for booting the Solaris OS as a control domain differs slightly from the format that is used for other menu.lst entries. The kernel$ line must identify the hypervisor binary to use and includes any options that are accepted by the hypervisor. The first module$ line in the file identifies the Solaris kernel to use, for example unix, and include any options the unix kernel accepts. Due to an implementation detail that exists in this version of GRUB, the specified unix kernel must be named twice on the first module$ line. The second module$ line identifies the boot archive to use.

For more information, see Description of a menu.lst File That Supports Hypervisor Technology.

For more information about administering Solaris systems that support the hypervisor, see and System Administration Guide: Virtualization Using the Solaris Operating System

x86: GRUB Support for Directly Loading and Booting the unix Kernel

Solaris Express Community Edition, build 57: This release includes changes to the GRUB based boot environment to enable the boot loader to directly load and boot the unix kernel.

Note –

The GRUB multiboot module is no longer used.

This implementation integrates the previous multiboot functionality directly into the platform-specific unix kernel module. These changes reduce the time, as well as memory requirements, that are needed to boot the Solaris OS on x86 based systems.

Two new keywords, kernel$ and module$, have been added to GRUB to assist in creating menu.lst entries that work with either 32-bit or 64-bit systems. In addition, the bootadm command that manages the menu.lst file has been modified to create file entries for the platform-specific unix module that is loaded by GRUB. During an upgrade, the bootadm command converts any existing multiboot menu.lst entries to unix entries.

The kernel$ and module$ keywords are identical to the kernel and module commands that are used in the GRUB multiboot implementation, with the addition of the $ISADIR keyword. This keyword provides the capability to expand to amd64 on 64-bit capable hardware. If the x86 based system is not 64-bit capable, the $ISADIR keyword is a null value (""). In this case, the system boots the 32-bit kernel.

Note –

These changes do not prevent you from booting a newer Solaris kernel with an older implementation of GRUB. Nor do the changes prevent you from booting an older Solaris kernel with a newer implementation of GRUB.

For information about booting an x86 based system with GRUB, see x86: Administering the GRUB Bootloader.

x86: Support for Using Power Button to Initiate System Shutdown

Pressing and releasing the power button on x86 based systems initiates a clean system shutdown and turns the system off. This functionality is equivalent to using the init 5 command to shut down a system. On some x86 based systems, the BIOS configuration might prevent the power button from initiating shutdown. To enable use of the power button to perform a clean system shutdown, reconfigure the BIOS.

Note –

On certain x86 based systems that were manufactured before 1999 and are running an older Solaris release, pressing the power button immediately turns off system power without safely shutting down the system. This same behavior occurs when pressing the power button on systems that are running with ACPI support that is disabled through the use of acpi-user-options.

For more information about acpi-user-options, see the eeprom(1M) man page.