OpenBoot Environment

The hardware-level user interface that you see before the operating system starts is called the OBP. OpenBoot is based on an interactive command interpreter that gives you access to an extensive set of functions for hardware and software development, fault isolation, and debugging. The OBP firmware is stored in the socketed startup PROM. The OpenBoot PROM consists of two 8KB chips on the system board: the startup PROM itself, which contains extensive firmware allowing access to user-written startup drivers and extended diagnostics, and an NVRAM (nonvolatile random-access memory) chip.

The NVRAM chip has user-definable system parameters and writeable areas for user-controlled diagnostics, macros, and device aliases. The NVRAM is where the system identification information is stored, such as the hostid, ethernet address, and time-of-day (TOD) clock. A single lithium battery backup provides backup for the NVRAM and clock. Many software packages use this hostid for licensing purposes; therefore, it is important that this chip can be removed and placed into any replacement system board.

OpenBoot is currently at version 3, which is the version I describe in this chapter. Depending on the age of your system, you could have PROM version 1, 2, or 3 installed. The original boot PROM firmware, version 1, was first introduced on the Sun SPARCstation 1. The first version of the OpenBoot PROM was version 2, which first appeared on the SPARCstation 2 system. OpenBoot version 3 is the version currently available on the Ultra series systems.Version 3 of the OpenBoot architecture provides a significant increase in functionality over the boot PROMs in earlier Sun systems. One notable feature of the OpenBoot firmware is a programmable user interface based on the interactive programming language Forth. In Forth, sequences of user commands can be combined to form complete programs. This capability provides a powerful tool for debugging hardware and software. Another benefit of version 3 is the Flash update feature. You can update the version 3 firmware without replacing the PROM chip. I’ll describe how to update your PROM chip later in this chapter.

Note

The Intel environment has no OpenBoot PROM or NVRAM. On Intel systems, 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.


Single- Versus Multiple-CPU Systems

The following system types have only one system board and hold only one boot PROM and NVRAM chip:

  • SPARCstation 4, 5, 10, and 20

  • Sun Blade 100, 1000

  • ULTRA 1, 2, 5, 10, 30, 60, 80, 220, 250, 240, 420, and 450

All other systems can be configured with multiple system boards and have a special boot PROM and NVRAM arrangement. The following list provides some things you should be aware of on multiple-CPU systems:

  • These systems have a clock board to oversee the backplane communications.

  • The HOSTID and ethernet address are on the clock board and are automatically downloaded to the NVRAM on all CPU boards when the power-on self-test (POST) is complete.

  • PROM contents on each CPU are compared and verified by checksums.

  • The CPU located in the lowermost card cage slot is the master CPU board.

  • Each CPU runs its own individual POST.

Accessing the OpenBoot Environment

You can get to the OpenBoot environment by using any one of the following methods (previously discussed in Chapter 9, “System Startup and Shutdown”):

  • By halting the operating system.

  • By pressing the Stop and A keys simultaneously (Stop+A). On terminals connected to the serial port, press the Break key.

  • When the system is initially powered on. If your system is not configured to start up automatically, it will stop at the user interface. If automatic startup is configured, you can make the system stop at the user interface by pressing Stop+A after the display console banner is displayed but before the system begins starting the operating system.

  • If the system hardware detects an error from which it cannot recover. (This is known as a watchdog reset.)

Note

An alternate sequence that can be used to stop the system is Enter+~+Ctrl+B, and this is equivalent to Stop+A. There must be an interval of more than 0.5 seconds between characters, and the entire string must be entered in less than five seconds. This is true only with serial devices acting as consoles and not for systems with keyboards of their own. If your console is connected to the serial port via a modem, you can send a break (Stop+A or L1+A) through the tip window by typing ~# (tilde + pound sign).


Caution

Forcing the system into the OpenBoot PROM using Stop+A or Break abruptly breaks execution of the operating system. It should be used only as a last effort to restart the system.


OpenBoot Firmware Tasks

The primary tasks of the OpenBoot firmware are as follows:

  • Test and initialize the system hardware

  • Determine the hardware configuration

  • Start the operating system from either a mass storage device or a network

  • Provide interactive debugging facilities for testing hardware and software

  • Allow modification and management of system startup configuration, such as NVRAM parameters

Specifically, OpenBoot will perform the following tasks necessary to initialize the operating system kernel:

1.
Display system identification information and then run self-test diagnostics to verify the system’s hardware and memory. These checks are known as a POST.

2.
Load the primary startup program, bootblk, from the default startup device.

3.
The bootblk program finds and executes the secondary startup program, ufsboot, and loads it into memory.

The ufsboot program loads the operating system kernel.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset