x86: Boot Subsystems

During the boot process, the boot subsystem menus allow you to customize
boot choices. If the system receives no response during the timeout periods,
it continues to boot automatically using the default selections. You can stop
the boot process when each boot subsystem menu is displayed. Or, you can let
the boot process continue automatically.

At three points during the Solaris boot process, you can make the following
choices about a booting system:

Primary Boot Subsystem (Partition
Boot Menu) – This first menu appears if multiple operating
systems exist on the disk. The menu enables you to boot any of the operating
systems installed. By default, the operating system that is designed as active is booted.

Note that if you choose to boot a
system other than the Oracle Solaris OS, you cannot reach the next two menus.

Interrupt the Autoboot Process –
If the autoboot process is interrupted, you can access the Device Configuration
Assistant menu.

The Solaris Device Configuration Assistant enables
you to boot the Solaris system from a different boot device, configure new
or misconfigured hardware, or perform other device-related or boot-related
tasks.

Current Boot Parameters menu –
Two forms of this menu exist, one menu for a normal Solaris boot and one menu
for a Solaris installation boot:

The normal Current Boot Parameters menu enables you to boot
the Solaris system with options, or enter the boot interpreter.

The install Current Boot Parameters menu enables you to select
the type of installation to be performed or to customize the boot process.

The following table summarizes the purpose of the primary x86 based
system boot interfaces. See the sections that follow for a detailed description
and example of each boot interface.

Table 16–1 x86: Boot Subsystems

Boot Subsystem

Purpose

Primary Boot Subsystem (Partition Boot menu)

This menu appears if the disk you are booting from contains multiple
operating systems, including the Oracle Solaris OS (Solaris OS).

Secondary Boot Subsystem

This menu appears each time you boot the Oracle Solaris release. The
system is booted automatically, unless you choose to run the Solaris Device
Configuration Assistant by interrupting the autoboot process.

Solaris Device Configuration Assistant/Boot Diskette

There are two ways to access the Device Configuration Assistant menus:

Use the Device Configuration Assistant boot diskette or the
Oracle Solaris Software CD (on systems that can boot from the CD-ROM drive)
to boot the system.

Interrupt the autoboot process when you boot the Solaris
software from an installed disk.

Current Boot Parameters menu

This menu appears when you boot the Oracle Solaris release from the
software media, or the network. The menu presents a list of boot options.

x86: Booting the Solaris Release

In this release, if you are booting an x86 based system with the Oracle
Solaris Software CD, DVD, or performing a PXE network boot, the system will
boot automatically. To use the Device Configuration Assistant, you must interrupt
the boot process by pressing ESC when prompted by the system.

During the device identification phase, the Device Configuration Assistant
does the following:

Scans for devices that are installed on the system

Displays the identified devices

Enables you to perform optional tasks such as selecting a
keyboard type or editing devices and their resources

During the boot phase, the Device Configuration Assistant does the following:

Displays a list of devices from which to boot. The device
marked with an asterisk (*) is the default boot device.

Enables you to perform optional tasks, such as editing autoboot
settings and property settings, and choosing the network configuration strategy.

The following section provides examples of menus that appear during
the device identification phase. The device output varies based on your system
configuration.

x86: Screens Displayed During the Device
Identification Phase

Several screens are displayed as the Device Configuration Assistant
attempts to identify devices on the system.

This section provides examples of the following boot subsystem screens:

In the Solaris 10 initial release, the autoboot process bypasses the
Device Configuration Assistant menus, unless you press ESC when prompted by
the system during the boot phase. If you choose to use the Device Configuration
Assistant, the following screen is displayed.

Solaris Device Configuration Assistant
The Solaris(TM)Device Configuration Assistant
scans to identify system hardware, lists identified devices, and can
boot the Solaris software from a specified device. This program must be
used to install the Solaris operating environment, add a driver,
or change the hardware on the system.
> To perform a full scan to identify all system hardware, choose Continue.
> To diagnose possible full scan failures, choose Specific Scan.
> To add new or updated device drivers, choose Add Driver.
About navigation...
- The mouse cannot be used.
- If the keyboard does not have function keys or they do not respond,
press ESC. The legend at the bottom of the screen will change to
show the ESC keys to use for navigation.
- The F2 key performs the default action.
F2_Continue F3_Specific Scan F4_Add Driver F6_Help

x86: Bus Enumeration Screen

The Bus Enumeration screen appears briefly while the Device Configuration
Assistant gathers hardware configuration data for devices that can be detected
automatically.

During this phase, you can determine the way in which the system is
booted.

The following menus are displayed during the boot phase:

Boot Solaris menu

Current Boot Parameters menu

x86: Boot Solaris Menu

The Boot Solaris menu allows you to select the device from which to
boot the Oracle Solaris release. You can also perform optional tasks, such
as viewing and editing autoboot and property settings. Once you select a boot
device and you choose Continue, the Solaris kernel begins to boot.

x86: Current Boot Parameters Menu

This menu appears each time you boot the Oracle Solaris release from
the local disk. Let the five-second timeout elapse if you want to boot the
default kernel. If you want to boot with different options, select an appropriate
option before the timeout period elapses.

x86: Boot Process

The following table describes the boot
process on x86 based systems.

Table 16–2 x86: Description of
the Boot Process

Boot Phase

Description

BIOS

1. When the system is turned on, the BIOS runs self-test diagnostics
to verify the system's hardware and memory. The system begins to boot automatically
if no errors are found. If errors are found, error messages are displayed
that describe recovery options.

The BIOS of additional hardware devices are run at this time.

2. The BIOS boot program tries to read the first disk sector from the
boot device. This first disk sector on the boot device contains the master
boot record mboot, which is loaded and executed. If no mboot file is found, an error message is displayed.

4. The Solaris boot program, pboot, loads bootblk, the primary boot program. The purpose of bootblk is
to load the secondary boot program, which is located in the UFS file system.

5. If there is more than one bootable partition, bootblk reads
the fdisk table to locate the default boot partition, and
builds and displays a menu of available partitions. You have a 30 seconds
to select an alternate partition from which to boot. This step occurs only
if there is more than one bootable partition present on the system.

6. bootblk finds and executes the secondary boot
program, boot.bin or ufsboot, in the
root (/) file system. You have five seconds to interrupt
the autoboot to start the Solaris Device Configuration Assistant.

7. The secondary boot program, boot.bin or ufsboot, starts a command interpreter that executes the /etc/bootrc script.
This script provides a menu of choices for booting the system. The default
action is to load and execute the kernel. You have a 5–second interval
to specify a boot option or to start the boot interpreter.

Kernel initialization

8. The kernel initializes itself and begins loading modules by using
the secondary boot program (boot.bin or ufsboot)
to read the files. When the kernel has loaded enough modules to mount the
root (/) file system, the kernel unmaps the secondary
boot program and continues, using its own resources.

9. The kernel creates a user process and starts the /sbin/init process,
which starts other processes by reading the /etc/inittab file.

init

10. In this Oracle Solaris release, the /sbin/init process
starts /lib/svc/bin/svc.startd, which starts system services
that do the following:

Check and mount file systems

Configure network and devices

Start various processes and perform system maintenance tasks

In addition, svc.startd executes the run control
(rc) scripts for compatibility.

x86: Boot Files

In addition to the run control scripts and boot files, there are additional
boot files that are associated with booting x86 based systems.

Table 16–3 x86: Boot Files

File

Description

/etc/bootrc

Contains menus and options for booting the Oracle Solaris release.

/boot

Contains files and directories needed to boot the system.

/boot/mdboot

DOS executable that loads the first-level bootstrap program (strap.com) into memory from disk.

/boot/mdbootbp

DOS executable that loads the first-level bootstrap program (strap.com) into memory from diskette.

/boot/rc.d

Directory that contains install scripts. Do not modify the contents
of this directory.

/boot/solaris

Directory that contains items for the boot subsystem.

/boot/solaris/boot.bin

Loads the Solaris kernel or stand-alone kmdb. In
addition, this executable provides some boot firmware services.

/boot/solaris/boot.rc

Prints the Oracle Solaris Operating OS on an x86 system
and runs the Device Configuration Assistant in DOS-emulation mode.