In many respects, Solaris startup and shutdown is similar to many other systems. However, it is important to recognize and appreciate the distinguishing features of the Solaris operating system from other servers. One of the outstanding facilities for SPARC hardware is the firmware monitoring system, discussed in Chapter 3, which is responsible for key prebooting tasks such as:
Starting the Solaris operating system by typing ok boot at the OpenBoot prompt, which boots the Solaris kernel (on Solaris x86, the boot command must be issued through the Primary Boot Subsystem menu).
Setting system configuration parameters, such as the boot device, which could be one of the hard disks (specified by a full device path name or device alias), another host on the network, or a CD-ROM.
Watching network traffic by issuing the ok watch-net command at the OpenBoot prompt.
Performing simple diagnostic tests on system devices (for example, testing the termination status of a SCSI bus, or the power-on self test, POST, tests).
Rather than just being a simple operating system loader, like the LILO Linux Loader supplied with many Linux distributions, OpenBoot also permits programs written in the stack-based Forth programming language to be written, loaded, and run before booting commences. This is very useful for customizing servers in large organizations, where a corporate logo must be displayed on boot rather than the default Sun logo. This task can be achieved by creating a Forth array with the appropriate pixel values, and executing the oem-logo command.
Variables can also be set postboot during single- and multiuser init states by using the eeprom command as superuser.
For example, eeprom can be used to change the amount of RAM self-tested at boot to 64MB:
server# eeprom selftest-#megs=64
On Solaris x86 systems, the firmware does not directly support this kind of eeprom functionality—every PC manufacturer has a different “BIOS” system, making it difficult. Instead, storage is simulated by variables set in the bootenv.rc file.
To view the OpenBoot release information for your firmware, use the following command:
ok banner SPARCstation 10, Type 5 Keyboard ROM Rev. 2.4, 64 MB memory installed, Serial #6745644 Ethernet address 6:3:10:a:cc:4a HostID 5767686
If the prompt for OpenBoot is not “ok” (for example, it is displayed as “>>“), then simply type n to return to the “ok” prompt:
> n ok
A second distinguishing feature of the Solaris operating system is the aim of maximized uptime, through efficient kernel design and the user application model. In some non-Solaris server environments, the system must be rebooted every time a new application is installed. Alternatively, a kernel rebuild might be required to change a configuration. Fortunately, rebooting is rarely required for Solaris systems, as applications are logically isolated from system configuration options, and many system-level configuration options can be set in a superuser shell. For example, many TCP/IP options can be set dynamically using the following command:
# ndd /dev/tcp
In some newer hardware configurations, it is not even necessary to reboot to install new hardware. These are the kinds of benefits that will be a welcome relief to new Solaris administrators.