Solaris 10 5/09 Installation Guide: Planning for Installation and Upgrade

Chapter 7 SPARC and x86 Based Booting (Overview and Planning)

Starting with the Solaris 10 10/08 release, changes in Solaris boot architecture provides many new features, including booting from different file system types, such as ZFS file systems. This chapter describes some of these changes and provides references to more information about booting. Also, this chapter provides an overview of GRUB based booting for x86 systems.

This chapter contains the following sections:

Booting for Solaris (Overview)

Starting with the Solaris 10 10/08 release, the Solaris SPARC bootstrap process has been redesigned to increase commonality with the Solaris x86 boot architecture. The improved Solaris boot architecture brings direct boot, ramdisk-based booting, and the ramdisk miniroot to the SPARC platform. These enabling technologies support the following functions:

Additional improvements include significantly faster boot times, increased flexibility, and reduced maintenance requirements.

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

Although the implementation of the Solaris SPARC boot has changed, no administrative procedures for booting a SPARC-based system have been impacted. Solaris installations have changed to include installing from a ZFS file system, but otherwise have not changed for the new boot architecture.

Booting ZFS Boot Environments (Overview)

If your system has more than one OS installed on the system or more than one root boot environment in a ZFS root pool, you can boot from these boot environments for both SPARC and x86 platforms. The boot environments available for booting include boot environments created by Solaris Live Upgrade.

On both SPARC and x86 based systems, each ZFS root pool has a dataset designated as the default root file system. If for SPARC, you type the boot command or for x86, you take the default from the GRUB menu, then this default root file system is booted.

Table 7–1 Where to Find Information on Booting

Description 

Information 

For a high-level overview of booting features 

Chapter 8, Introduction to Shutting Down and Booting a System, in System Administration Guide: Basic Administration

For more detailed overview of booting features 

Chapter 9, Shutting Down and Booting a System (Overview), in System Administration Guide: Basic Administration

x86: For information about modifying boot behavior such as editing the menu.lst file and locating the menu.lst file

Modifying Solaris Boot Behavior on x86 Based Systems (Task Map) in System Administration Guide: Basic Administration

For procedures for booting a ZFS file system 

Chapter 12, Booting a Solaris System (Tasks), in System Administration Guide: Basic Administration

For procedures for managing a boot archive, such as locating the GRUB menu.lst file and using the bootadm command

Chapter 14, Managing the Solaris Boot Archives (Tasks), in System Administration Guide: Basic Administration

x86: GRUB Based Booting (Overview)

GRUB, the open source boot loader, is the default boot loader in the Solaris OS.

The boot loader is the first software program that runs after you power on a system. After you power on an x86 based system, the Basic Input/Output System (BIOS) initializes the CPU, the memory, and the platform hardware. When the initialization phase has completed, the BIOS loads the boot loader from the configured boot device, and then transfers control of the system to the boot loader.

GRUB is an open source boot loader with a simple menu interface that includes boot options that are predefined in a configuration file. GRUB also has a command-line interface that is accessible from the menu interface for performing various boot commands. In the Solaris OS, the GRUB implementation is compliant with the Multiboot Specification. The specification is described in detail at http://www.gnu.org/software/grub/grub.html.

Because the Solaris kernel is fully compliant with the Multiboot Specification, you can boot a Solaris x86 based system by using GRUB. With GRUB, you can more easily boot and install various operating systems.

A key benefit of GRUB is that it is intuitive about file systems and kernel executable formats, which enables you to load an operating system without recording the physical position of the kernel on the disk. With GRUB based booting, the kernel is loaded by specifying its file name, and the drive, and the partition where the kernel resides. GRUB based booting replaces the Solaris Device Configuration Assistant and simplifies the booting process with a GRUB menu.

x86: GRUB Based Booting (Planning)

This section describes the basics of GRUB based booting and describes the GRUB menu.

When you install the Solaris OS, two GRUB menu entries are installed on the system by default. The first entry is the Solaris OS entry. The second entry is the failsafe boot archive, which is to be used for system recovery. The Solaris GRUB menu entries are installed and updated automatically as part of the Solaris software installation and upgrade process. These entries are directly managed by the OS and should not be manually edited.

During a standard Solaris OS installation, GRUB is installed on the Solaris fdisk partition without modifying the system BIOS setting. If the OS is not on the BIOS boot disk, you need to do one of the following:

The preferred method is to install the Solaris OS on the boot disk. If multiple operating systems are installed on the machine, you can add entries to the menu.lst file. These entries are then displayed in the GRUB menu the next time you boot the system.

For additional information on multiple operating systems, see How Multiple Operating Systems Are Supported by GRUB in System Administration Guide: Basic Administration.

x86: Performing a GRUB Based Installation From the Network

Performing a GRUB based network boot requires a DHCP server that is configured for PXE clients and an install server that provides tftp service. The DHCP server must be able to respond to the DHCP classes, PXEClient and GRUBClient. The DHCP response must contain the following information:


Note –

rpc.bootparamd, which is usually a requirement on the server side for performing a network boot, is not required for a GRUB based network boot.


If no PXE or DHCP server is available, you can load GRUB from CD-ROM or local disk. You can then manually configure the network in GRUB and download the multiboot program and the boot archive from the file server.

For more information, see Overview of Booting and Installing Over the Network With PXE in Solaris 10 5/09 Installation Guide: Network-Based Installations.