C H A P T E R  4

OpenBoot PROM Features

This chapter describes some OpenBoot PROM features and procedures.


OpenBoot ok Prompt

Oracle’s Sun Blade T6340 server module with the Solaris OS installed operates at different run levels. For a full description of run levels, refer to the Solaris system administration documentation.

Most of the time, you operate the server module at run level 2 or run level 3, which are multiuser states with access to full system and network resources. Occasionally, you might operate the system at run level 1, which is a single-user administrative state. However, the lowest operational state is run level 0. At this state, it is safe to turn off power to the system.

When the server module is at run level 0, the ok prompt appears. This prompt indicates that the OpenBoot firmware is in control of the system.

There are a number of scenarios under which OpenBoot firmware control can occur:

The last scenario most often concerns you as an administrator, since there will be times when you need to reach the ok prompt. Several ways to do this are outlined in Reaching the ok Prompt. For detailed instructions, see Reaching the ok Prompt.

Openboot ok Prompt Not Available After Solaris OS Has Started

The OpenBoot firmware is not available and might be removed from memory once the Solaris OS starts.

To reach the ok prompt from the Solaris OS, you must first halt the domain. Use the Solaris OS halt (1M) command to halt the domain.

Reaching the ok Prompt

There are several ways to reach the ok prompt, depending on the state of the system and the means by which you are accessing the system console. In decreasing order of desirability, the list is as follows:



Note - To reach the ok prompt after a shutdown or reset of the server module, the
auto-boot? option must be set to false. Also, you must shut down or restart the Solaris OS to get to the ok prompt. You cannot reach the ok prompt from the Solaris OS (see Openboot ok Prompt Not Available After Solaris OS Has Started).


A discussion of each method follows. For step-by-step instructions, see Procedures for Obtaining the ok Prompt.



Note - As a rule, before suspending the operating system you should back up files, warn users of the impending shutdown, and halt the system in an orderly manner. However, it is not always possible to take such precautions, especially if the system is malfunctioning.


Graceful Shutdown

The preferred method of reaching the ok prompt is to shut down the operating system by typing an appropriate command (for example, the init, or
uadmin commands) as described in Solaris system administration documentation.

For example, if you type init 0 at the Solaris prompt the system gradually takes you to the ok prompt:


ok 

If the operating system is already halted, you can use the start /SP/console command without using set /HOST send_break_action=break to reach the ok prompt.

Gracefully shutting down the system prevents data loss, enables you to warn users beforehand, and causes minimal disruption. You can usually perform a graceful shutdown, provided the Solaris OS is running and the hardware has not experienced serious failure.

You can perform a graceful system shutdown from the ILOM service processor command prompt using the stop /SYS command.

You can also use the system Power button to initiate a graceful system shutdown.

Graceful Reset of the Control Domain With ILOM reset Command

Use the ILOM reset command to gracefully reset the control domain and obtain the ok prompt. If a graceful shutdown is not possible, a forced shutdown is performed. To use this method to obtain the ok prompt, you must first set the control domain auto-boot option to false. For example:


-> set /HOST/domain/control auto-boot=disable
-> reset /HOST/domain/control

Manual System Reset



caution icon Caution - Forcing a manual system reset results in loss of system state data and should be attempted only as a last resort. After a manual system reset, all state information is lost, which inhibits troubleshooting the cause of the problem until the problem reoccurs.


Use the ILOM service processor reset /SYS command, or start /SYS and
stop /SYS commands, to reset the server module. For example


procedure icon  To Reset the System Manually

1. Type:


-> set /HOST/bootmode script="setenv auto-boot? false"

The auto-boot? setting is permanent. The setting remains false until deliberately changed.

2. Press Enter.

3. Type:


-> reset /SYS

-> start /SP/console


Reaching the ok prompt by performing a manual system reset or by power cycling the system should be the method of last resort. Using these commands results in the loss of all system coherence and state information. A manual system reset could corrupt the server module file systems, although the fsck command usually restores them. Use this method only when nothing else works.



caution icon Caution - Accessing the okprompt shuts down the Solaris OS. You cannot return to the Solaris OS without rebooting the OS, for example with the bootcommand.



procedure icon  To Shut Down the Server Module Using the Break Key or the Equivalent Pair of ILOM Commands

When it is impossible or impractical to shut down the system gracefully, you can get to the ok prompt, if you have an alphanumeric terminal attached to the server module, by pressing the Break key.

The equivalent method uses the following pair of commands:

1. Type set /HOST send_break_action=break

This command forces a running server module to drop to a menu. For example:


-> set /HOST send_break_action=break
Set ’send_break_action’ to ’break’
 
-> start /SP/console
Are you sure you want to start /SP/console (y/n)? y
Serial console started.  To stop, type #.

2. Press Enter.

The server module responds with:


c)ontinue, s)ync, r)eset

3. Select r to reset the system and stop at the ok prompt if the auto-boot? option is set to false.

Selecting c returns you to the Solaris prompt without reset.

Selecting s causes a core dump, a hard reset of the control domain (the host if no guest domains have been configured), then boots the Solaris OS.



Note - These methods of reaching the ok prompt will only work if the system console has been left in the default setting of virtual-console.


Procedures for Obtaining the ok Prompt



caution icon Caution - Obtaining the okprompt shuts down all application and operating system software. After you issue firmware commands and run firmware-based tests from the okprompt, you cannot resume where the OS or applications left off. You must reboot the Solaris OS after reaching the okprompt.


If possible, back up system data before starting this procedure. Also exit or stop all applications, and warn users of the impending loss of service. For information about the appropriate backup and shutdown procedures, see Solaris system administration documentation.


procedure icon  To Obtain the ok Prompt

1. Decide which method you need to use to reach the ok prompt.

2. Follow the appropriate instructions in FIGURE 4-1.


FIGURE 4-1 Procedures for Accessing the ok Prompt

Access Method

What to Do

Graceful shutdown of the Solaris OS

From a shell or command tool window, type an appropriate command (for example, the init 0 or uadmin 2 0 commands) as described in Solaris system administration documentation.

Graceful reset of the control domain using the ILOM reset command

From the -> prompt in the control domain, type:

-> set /HOST/domain/control auto-boot=disable

-> reset /HOST/domain/control

Manual system reset

From the -> prompt, type:

-> set /HOST/bootmode script="setenv auto-boot? false"

Press Enter.

Then type:

-> reset /SYS

-> start /SP/console

Break key or equivalent ILOM break commands

From an alphanumeric terminal configured to access the system console, press the Break key.

After the break, if a debugger is present the domain breaks to KMDB debugger

prompt, which allows access to the c)continue, s)ync, r)eset? prompt. If

a debugger is not present, the c)continue, s)ync, r)eset? prompt occurs:

  • c - returns to the Solaris OS
  • s - forces synchronization (sync) of the filesystem, resulting in a core dump
  • r - resets the domain and reboots to the Solaris OS if the auto-boot? option is

set to true, or stops at the ok prompt if the auto-boot? option is set to

false.



OpenBoot Configuration Variables on the SP

TABLE 4-1 describes the OpenBoot firmware configuration variables. The OpenBoot configuration variables are printed here in the order in which they appear when you type the following command: ok printenv


TABLE 4-1 OpenBoot Configuration Variables Stored on the Service Processor

Variable Name

Possible Values

Default Value

Description

{0} ok printenv
None
None

Printenv command displays the variables below.

ttya-rts-dtr-off
true, false
false

If true, operating system does not assert rts (request-to-send) and dtr (data-transfer-ready) on serial management port.

ttya-ignore-cd
true, false
true

If true, operating system ignores carrier-detect on TTYA port.

reboot-command
 
 

 

security-mode
none, command, full
No default

Firmware security level.

security-password
variable-name
No default

Firmware security password if security-mode is not none (never displayed). Do not set this directly.

security-#badlogins

0
No default

Number of incorrect security password attempts.

verbosity 
min, normal, max
min

Controls mount and detail of firmware output.

pci-mem64? 
true, false
true
 
diag-switch?
true, false
false

If true, OpenBoot verbosity is set to maximum

If false, OpenBoot verbosity is set to minimum

local-mac-address?
true, false
true
If true, network drivers use their own MAC address, not the server MAC address.
fcode-debug?
true, false
false
If true, include name fields for plug-in device FCodes.
scsi-initiator-id
0 to 15
7
SCSI ID of the serial attached SCSI controller.
oem-logo
 
 
No default
oem-logo?
true, false
false
If true, use custom OEM logo. Otherwise, use the server manufacturer’s logo.
oem-banner
 
No default
 
oem-banner?
true, false
false
If true, use custom OEM banner.
ansi-terminal?
true, false
true

If true, enable ANSI terminal emulation.

screen-#columns
0-n
80

Sets number of columns on screen.

screen-#rows
0-n
34

Sets number of rows on screen.

ttya-mode
9600,8,n,1,-
9600,8,n,1,-

TTYA port (baud rate, bits, parity, stop, handshake). The serial management port only works at the default values.

output-device
virtual-console, screen, rscreen
virtual-console

Power-on output device.

input-device
virtual-console, keyboard, rkeyboard
virtual-console

Power-on input device.

auto-boot-on-error?
true, false
false

If true, boots automatically after system error.

load-base
0-n
16384

Address.

auto-boot?
true, false
true

If true, boots automatically after power on or reset.

network-boot-arguments: 
 

Arguments to be used by the PROM for network booting. Defaults to an empty string. network-boot-arguments can be used to specify the boot protocol (RARP/DHCP) to be used and a range of system knowledge to be used in the process. For more information, see the eeprom (1M) man page or your Solaris reference manual..

boot-command
boot
boot

Executed if auto-boot? is true

boot-device
disk, net, cdrom
disk, net

Device from which to boot.

multipath-boot?
true, false
false 

 

boot-device-index 
0
0

 

use-nvramrc?
true, false
false

If true, executes commands in NVRAMRC during server module startup.

nvramrc
variable-name
none

Command script to execute if use-nvramrc? is true.

error-reset-recovery
boot, sync, none
boot

Command to execute following a system reset generated by an error.


You can change the OpenBoot PROM variables using the setenv command or by using the eeprom command in Solaris.

For more information, see the eeprom (1M) man page or your Solaris reference manual.

For More Information

For more information about the OpenBoot firmware, refer to the OpenBoot 4.x Command Reference Manual at:

http://docs.sun.com