The following table describes the boot process on x86 based systems.
Table 13.3. 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 |
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, |
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 | |
6. bootblk finds and executes the secondary boot program, boot.bin or | |
7. The secondary boot program, boot.bin or ufsboot, starts a command interpreter that executes the | |
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 ( |
9. The kernel creates a user process and starts the /sbin/init process,
which starts other processes by reading the | |
init |
10. In this Solaris release, the /sbin/init process starts /lib/svc/bin/svc.startd, which starts system services that do the following:
In addition, svc.startd executes the run control (rc) scripts for compatibility. |