Chapter 12 The Boot Process (Reference)
This chapter describes the hardware used for booting on SPARC based
and IA based systems and a conceptual overview of the boot process on each
platform.
This is a list of overview information in this chapter.
For instructions on booting a system, see Chapter 10, SPARC: Booting a System (Tasks)
or Chapter 11, IA: Booting a System (Tasks).
SPARC: The Boot PROM
Each SPARC based system has a PROM (programmable read-only memory) chip
with a program called the monitor. The monitor controls
the operation of the system before the kernel is available. When a system
is turned on, the monitor runs a quick self-test procedure that checks things
such as the hardware and memory on the system. If no errors are found, the
system begins the automatic boot process.
SPARC only -
Some older systems might require PROM upgrades before they will work
with the Solaris system software. Contact your local service provider for
more information.
SPARC: The Boot Process
The following table describes the boot process.
Table 12-1 SPARC: Description of the Boot Process
|
Boot Phase
|
Description
|
|
Boot PROM
|
1. The PROM displays system identification
information and then runs self-test diagnostics to verify the system's hardware
and memory.
|
|
|
2. Then the PROM loads the primary boot program, bootblk, whose purpose is to load the secondary boot program located
in the ufs file system from the default boot device.
|
|
Boot Programs
|
3. The bootblk program
finds and executes the secondary boot program, ufsboot,
and loads it into memory.
|
|
|
4. After the ufsboot program is loaded,
the ufsboot program loads the kernel.
|
|
Kernel Initialization
|
5. The kernel initializes itself and
begins loading modules, using ufsboot to read the files.
When the kernel has loaded enough modules to mount the root file system, it
unmaps the ufsboot program and continues, using its own
resources.
|
|
6. The kernel creates a user process and starts the /sbin/init
process, which starts other processes by reading the /etc/inittab file.
|
|
init
|
7. The /sbin/init
process starts the run control (rc) scripts, which execute
a series of other scripts. These scripts (/sbin/rc*)
check and mount file systems, start various processes, and perform system
maintenance tasks.
|
IA: The PC BIOS
Before the kernel is started, the system is controlled by the read-only-memory
(ROM) Basic Input/Output System (BIOS), the firmware interface on a PC.
Hardware adapters can have an onboard BIOS that displays the physical
characteristics of the device and can be used to access the device.
During the startup sequence, the PC BIOS checks for the presence of
any adapter BIOS, and if found, loads and executes each one. Each individual
adapter's BIOS runs self-test diagnostics and displays device information.
IA: Boot Subsystems
At three times 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 environments exist on the disk. The menu
enables you to boot any of the operating environments installed. By default,
the operating environment designed as active is booted.
Note that if you choose to boot a non-Solaris operating environment,
the next two menus cannot be reached.
-
Interrupt the Autoboot Process - If the autoboot
process is interrupted, you can access the Configuration Assistant.
The Configuration Assistant enables you to boot the Solaris system from
a different boot device, configure new or misconfigured hardware, or perform
other device- or boot-related tasks.
-
Current Boot Parameters Menu - Two forms of this
menu exist, one for a normal Solaris boot and one 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 customize the boot.
The following table summarizes the purpose of the primary IA boot
interfaces. See the sections that follow for a detailed description and example
of each boot subsystem.
Table 12-2 IA: Boot Subsystems
|
Boot Subsystem
|
Purpose
|
|
Primary Boot Subsystem
|
This menu appears if the disk you
are booting from contains multiple operating environments, including the Solaris
operating environment.
|
|
Secondary Boot Subsystem
|
This menu appears each time you boot
the Solaris release. The Solaris release 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 Solaris Device Configuration Assistant menus:
-
Use the Solaris Device Configuration Assistant Boot Diskette
or the Solaris Installation CD (on systems that can boot from the CD-ROM drive)
to boot the system.
-
Interrupt the autoboot process when booting Solaris
from an installed disk.
|
|
Current Boot Parameters Menu
|
This menu appears when you boot the
Solaris release from the disk, CD-ROM, or the network. The menu presents a
list of boot options.
|
During the boot process, the boot subsystem menus allow you to customize
boot choices. If the system receives no response during the time-out periods,
it continues to boot automatically using default selections. You can stop
the boot process when each boot subsystem menu is displayed, or you can let
it continue automatically.
The following section provides examples of each subsystem screen.
IA: Booting Solaris
During the device identification phase, the Configuration Assistant:
-
Scans for devices installed on the system
-
Displays the identified devices
-
Enables you to perform optional tasks such as selecting
a keyboard type and editing devices and their resources
During the Boot phase, the Configuration Assistant:
-
Displays a list of devices from which to boot. A device marked
with an asterisk (*) is the default boot device.
-
Enables you to perform optional tasks, such as
editing autoboot and property settings, and choosing the network configuration
strategy.
Examples of device identification during each phase are provided below.
Device output varies based on your system configuration.
IA: Menus Displayed During the Device Identification Phase
Several menus are displayed as the Configuration Assistant attempts
to identify devices on the system.
IA: Configuration Assistant Screen
This screen appears each time you boot the Configuration Assistant and
access the menus. The Configuration Assistant runs every time the system is
booted, although the autoboot process bypasses the menus.
Solaris Device Configuration Assistant
The Solaris(TM) (Intel Platform Edition) 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
|
IA: Bus Enumeration Screen
The Bus Enumeration screen appears briefly while the Configuration Assistant
gathers hardware configuration data for devices that can be detected automatically.
Bus Enumeration
Determining bus types and gathering hardware configuration data ...
Please wait ...
|
IA: Scanning Devices Screen
The Scanning Devices screen appears while the Configuration Assistant
manually scans for devices that can only be detected with special drivers.
Scanning Devices
The system is being scanned to identify system hardware.
If the scanning stalls, press the system's reset button. When the
system reboots, choose Specific Scan or Help.
Scanning: Floppy disk controller
#######################
| | | | | |
0 20 40 60 80 100
Please wait ...
|
IA: Identified Devices Screen
The Identified Devices screen displays which devices have been identified
on the system. From here, you can continue to the Boot Solaris menu or perform
optional tasks, such as set a keyboard configuration, view and edit devices,
set up a serial console, and save and delete configurations.
Identified Devices
The following devices have been identified on this system. To identify
devices not on this list or to modify device characteristics, such as
keyboard configuration, choose Device Tasks. Platform types may be
included in this list.
ISA: Floppy disk controller
ISA: Motherboard
ISA: PnP bios: 16550-compatible serial controller
ISA: PnP bios: 16550-compatible serial controller
ISA: PnP bios: Mouse controller
ISA: PnP bios: Parallel port
ISA: System keyboard (US-English)
PCI: Bus Mastering IDE controller
PCI: Universal Serial Bus
PCI: VGA compatible display adapter
F2_Continue F3_Back F4_Device Tasks F6_Help
|
IA: Menus Displayed During the Boot Phase
During this phase, you can determine the way in which the system is
booted.
IA: Boot Solaris Menu
The Boot Solaris menu allows you to select the device from which to
boot the Solaris release. You can also perform optional tasks, such as view
and edit autoboot and property settings. Once a boot device is selected and
you choose Continue, the Solaris kernel will begin to boot.
Boot Solaris
Select one of the identified devices to boot the Solaris kernel and
choose Continue.
To perform optional features, such as modifying the autoboot and property
settings, choose Boot Tasks.
An asterisk (*) indicates the current default boot device.
> To make a selection use the arrow keys, and press Enter to mark it [X].
[X] DISK: (*) Target 0:QUANTUM FIREBALL1280A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] DISK: Target 1:ST5660A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] DISK: Target 0:Maxtor 9 0680D4
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] CD : Target 1:TOSHIBA CD-ROM XM-5602B 1546
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
F2_Continue F3_Back F4_Boot Tasks F6_Help
|
IA: Current Boot Parameters Menu
This menu appears each time you boot Solaris from the local disk. Let
the five-second timeout elapse if you want to boot the default Solaris kernel.
If you want to boot with different options, select an appropriate option before
the timeout period elapses.
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:
Type b [file-name] [boot-flags] <ENTER> to boot with options
or i <ENTER> to enter boot interpreter
or <ENTER> to boot with defaults
<<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter:
|
IA: The Boot Process
The following table describes the boot process.
Table 12-3 IA: Description of the Boot Process
|
Boot Phase
|
Description
|
|
BIOS
|
1. When the system is turned on, the PC 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 describing recovery options.
Additional hardware
devices' BIOS are run at this time.
|
|
|
2. The BIOS boot program tries to read the first physical
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.
|
|
Boot Programs
|
3. mboot, which contains
disk information needed to find the active partition and the location of the
Solaris boot program, pboot, loads and executes pboot.
|
|
4. pboot loads bootblk, the primary
boot program, whose purpose is to load the secondary boot program 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-second
interval to select an alternate partition from which to boot. This step only
occurs 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 a 5-second interval to interrupt the autoboot to start the
Configuration Assistant.
|
|
7. The secondary boot program, boot.bin or ufsboot, starts a command interpreter that executes the /etc/bootrc script, which 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 start the boot interpreter.
|
|
Kernel Initialization
|
8. The kernel initializes itself and
begins loading modules, 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, it 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. The /sbin/init
process starts the run control (rc) scripts, which execute
a series of other scripts. These scripts (/sbin/rc*)
check and mount file systems, start various processes, and perform system
maintenance tasks.
|