Previous Page
Next Page

Booting a System


Explain the phases of the boot process.

Bootstrapping is the process a computer follows to load and execute the bootable operating system. The term comes from the phrase "pulling yourself up by your bootstraps." The instructions for the bootstrap procedure are stored in the boot PROM.

The boot process goes through the following phases:

  1. Boot PROM phase After you turn on power to the system, the PROM displays system identification information and runs self-test diagnostics to verify the system's hardware and memory. It then loads the primary boot program, called bootblk from its location on the boot device into memory.

  2. Boot programs phase The bootblk program finds and executes the secondary boot program (called ufsboot) from the Unix file system (UFS) and loads it into memory. After the ufsboot program is loaded, the ufsboot program loads the two-part kernel.

  3. Kernel initialization phase 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.

  4. init phase The kernel creates a user process and starts the /sbin/init process. The /sbin/init process reads the /etc/inittab file for instructions on starting other processes, one of which is the svc.startd daemon (/lib/svc/bin/svc.startd).

  5. svc.startd phase The svc.startd daemon starts the system services and boots the system to the appropriate milestone. Specifically, svc.startd starts the following system services:

    • Checks and mounts file systems

    • Configures the network and devices

    • Initiates various startup processes and performs system maintenance tasks

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


Boot Phases For the exam, you need to make sure you thoroughly understand each boot phase and the order in which each phase is run. The first two phases are described in this section, with the description of OpenBoot. The kernel, init, and svc.startd phases are described later in the chapter, in the sections "The Kernel" and "System Run States."

Powering On the System

Before you power on the system, you need to make sure everything is plugged in properly. Check the small computer system interface (SCSI) cables that connect any external devices to the system (such as disk drives and tape drives) to make sure they are properly connected. Check your network connection. Also make sure that the keyboard and monitor are connected properly. Loose cables can cause your system to fail during the startup process.


Connecting Cables with the Power Turned Off Always connect your cables before turning on the hardware; otherwise, you could damage your system.

The correct sequence for powering on your equipment is to first turn on any peripherals (that is, external disk drives or tape drives) and then turn on power to the system.

The Boot PROM and Program Phases

The bootstrap process begins after power-up, when the startup routines located in the hardware's PROM chip are executed. Sun calls this the OpenBoot firmware, and it is executed immediately after you turn on the system.

The primary task of the OpenBoot firmware is to test the hardware and to boot the operating system either from a mass storage device or from the network. OpenBoot contains a program called the monitor that controls the operation of the system before the kernel is available and before the operating system has been booted. When a system is turned on, the monitor runs a power-on self-test (POST) that checks such things as the hardware and memory on the system.

If no errors are found, the automatic boot process begins. OpenBoot contains a set of instructions that locate and start up the system's boot program and eventually start up the Unix operating system.


Automatic System Recovery Sun server class systems can recognize failed components and disable the board that contains the failed component. If the server is configured with multiple central processing unit (CPU)/memory and input/output (I/O) boards, the system can boot in a degraded yet stable condition, even with failed components. See your server's System Reference Manual for details on automatic system recovery.

The boot program is stored in a predictable area (sectors 115) on the system hard drive, CD-ROM, or other bootable device and is referred to as the bootblock (bootblk). The bootblock is responsible for loading the secondary boot program (ufsboot) into memory, which is located in the UFS file system on the boot device. The path to ufsboot is recorded in the bootblock, which is installed by the Solaris installboot utility.

ufsboot locates and loads the two-part kernel. The kernel (which is covered in detail later in this chapter) is the part of the operating system that remains running at all times until the system is shut down. It is the core and the most important part of the operating system. The kernel consists of a two-piece static core called genunix and unix. genunix is the platform-independent generic kernel file, and unix is the platform-specific kernel file. When the system boots, ufsboot combines these two files into memory to form the running kernel.

Previous Page
Next Page