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.
|
Boot Programs
|
3. The master boot record, mboot, contains disk information
needed to find the active partition and the location of the Solaris boot program, pboot, loads and executes pboot, mboot.
|
|
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.
|