JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Booting and Shutting Down Oracle Solaris on x86 Platforms     Oracle Solaris 11 Information Library
search filter icon
search icon

Document Information

About This Book

1.  Booting and Shutting Down an x86 Based System (Overview)

What's New in Booting and Shutting Down a System

Administratively Provided driver.conf Files

Bitmapped Console Support

Boot and Shutdown Animation

Fast Reboot

x86: Removal of Support for 32-Bit Kernel

Booting and Shutting Down an x86 Based System (Topic Map)

Guidelines for Booting an x86 Based System

Reasons to Boot a System

Service Management Facility and Booting

Changes in Boot Behavior When Using SMF

How Run Levels Work

What Happens When a System Is Booted to a Multiuser State (Run Level 3)

When to Use Run Levels or Milestones

Overview of the Oracle Solaris Boot Architecture

How the x86 Boot Process Works

GRUB-Based Booting

GRUB Components

Purpose and Function of the GRUB Menu

GRUB Device-Naming Conventions

x86 and GRUB Boot Terminology

2.  Booting an x86 Based System to a Specified State (Tasks)

3.  Shutting Down a System (Tasks)

4.  Rebooting an x86 Based System (Tasks)

5.  Booting an x86 Based System From the Network (Tasks)

6.  Modifying Boot Parameters on an x86 Based System (Tasks)

7.  Creating, Administering, and Booting From ZFS Boot Environments on x86 Platforms (Tasks)

8.  Keeping an x86 Based System Bootable (Tasks)

9.  Troubleshooting Booting an x86 Based System (Tasks)

Index

GRUB-Based Booting

In Oracle Solaris, the open source GRand Unified Bootloader (GRUB) is the default boot loader on x86 based systems. GRUB is responsible for loading a boot archive into the system's memory. A boot archive is a collection of critical files that is needed during system startup before the root file system is mounted. The boot archive is the interface that is used to boot Oracle Solaris. You can find more information about GRUB at http://www.gnu.org/software/grub/grub.html. See also the grub(5) man page.

GRUB implements a menu interface that includes boot options that are predefined in a configuration file called the menu.lst file. GRUB also has a command-line interface that is accessible from the GUI menu interface that can be used to perform various boot functions, including modifying default boot parameters.

The Oracle Solaris kernel is fully compliant with the Multiboot Specification. With GRUB, you can boot the different operating systems that might be installed on a single system. For example, you can individually boot Oracle Solaris, Linux, or Windows by selecting the appropriate boot entry in the GRUB menu when the system boots. Or, you can customize the menu.lst file to boot a specific OS instance by default.

Because GRUB is intuitive about file systems and kernel executable formats, you can 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, as well as the drive and the partition where the kernel resides.

GRUB Components

The components of the GRUB boot loader are as follows:

You cannot use the dd command to write stage1 and stage2 images to disk. The stage1 image must be able to receive information about the location of the stage2 image that is on the disk. Use the installgrub command, which is the supported method for installing GRUB boot blocks.

Purpose and Function of the GRUB Menu

The menu that is displayed when you boot an x86 based system is the GRUB menu. This menu is based on configuration information that is in the GRUB menu.lst file. When the boot sequence starts, the GRUB menu is displayed. Unless you interrupt the boot sequence, the default entry (typically the first entry in the menu.lst file) is booted by default.

You can edit the GRUB menu at boot time to either boot a different operating system or modify the parameters of the default boot entry. To do so, type e as soon as the GRUB menu is displayed. Typing e interrupts the boot process and takes you to the GRUB edit menu, where you can select another OS to boot or modify default boot parameters for the default boot entry. Note that the modified boot behavior persists only until the next time the system is booted. For instructions, see Modifying Boot Parameters at Boot Time.

GRUB Device-Naming Conventions

GRUB uses device-naming conventions that are slightly different than those used in previous releases. Understanding the device-naming conventions that GRUB uses can assist you in correctly specifying drive and partition information when you configure GRUB on your system.

The following table describes the device-naming conventions that GRUB uses.

Table 1-5 Conventions for GRUB Devices

Device Name
Description
(fd0)
First diskette
(fd1)
Second diskette
(nd)
Network device
(hd0,0)
First fdisk partition on first disk
(hd0,1)
Second fdisk partition on first disk
(hd0,0,a),
Slice a on first fdisk partition on first disk
(hd0,0,b)
Slice b on first fdisk partition on first disk

Note - All GRUB device names must be enclosed in parentheses.


Starting with the Solaris 10 10/08 release, the findroot command replaces the root command previously used by GRUB. The findroot command provides enhanced capabilities for discovering a targeted disk, irrespective of the boot device.

x86 and GRUB Boot Terminology

The following basic terminology is used for booting and shutting down an x86 based system:

Basic Input/Output System (BIOS)

On x86 based systems, the BIOS is the boot firmware designed to be the first code run by a PC when turned on. The initial function of the BIOS is to identify, test, and initialize system devices such as the video display card, hard disk, floppy disk, and other hardware.

boot archive

A collection of critical files that is used to boot the Oracle Solaris OS. These files are needed during system startup before the root file system is mounted.

boot loader

The first software program that runs after you turn on a system. This program begins the booting process.

GRand Unified Bootloader (GRUB)

GRUB is a multiboot boot loader that is used on x86 based systems. The boot loader is the first software program that runs when a system starts. It is responsible for loading and transferring control to the operating system kernel software (Oracle Solaris, Linux, and Windows).

GRUB edit menu

A submenu of the GRUB main menu. GRUB commands are displayed in this submenu. These commands can be edited to change boot behavior.

GRUB main menu

A boot menu that lists the operating systems that are installed on a system. From this menu, you can easily boot an operating system without modifying the BIOS or fdisk partition settings.

menu.lst file

A configuration file that lists all the operating systems that are installed on a system. The contents of this file dictate the list of operating systems that is displayed in the GRUB menu. From the GRUB menu, you can easily boot an operating system without modifying the BIOS or fdisk partition settings.