- Introduction
- Booting a System
- The OpenBoot Environment
- The OpenBoot Architecture
- The OpenBoot Interface
- Getting Help in OpenBoot
- PROM Device Tree (Full Device Pathnames)
- OpenBoot NVRAM
- OpenBoot Security
- OpenBoot Diagnostics
- OpenBoot PROM Versions
- Booting a System
- The Kernel
- System Run States
- System Shutdown
- Chapter Summary
- Apply Your Knowledge
Booting a System
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:
-
Boot PROM phaseAfter 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.
-
Boot programs phaseThe 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.
-
Kernel initialization phaseThe 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.
- init phaseThe kernel starts the Unix operating
system, mounts the necessary file systems, and runs /sbin/init to
bring the system to the initdefault state specified in /etc/inittab.
The kernel creates a user process and starts the /sbin/init process, which starts other processes by reading the /etc/inittab file.
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.
TIP
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 and init 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.
CAUTION
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 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. 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.
NOTE
Automatic System Recovery Sun Enterpriseclass servers 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 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.