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:
- By default, before the operating system is installed the system comes up under OpenBoot firmware control.
- When the auto-boot? OpenBoot configuration variable is set to false, the system boots to the ok prompt.
- After the Solaris OS is halted, the system transitions to run level 0 in an orderly way.
- During the boot process, when there is a serious hardware problem that prevents the operating system from running, the system reverts to OpenBoot firmware control.
- When you deliberately place the system under firmware control in order to execute firmware-based commands, you have the ok prompt.
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).
|
- Graceful shutdown
- Graceful reset of the control domain using the ILOM reset command
- Manual system reset
- The Break key or the equivalent ILOM service processor command pair:
-> set /HOST send_break_action=break
-> start /SP/console -force
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:
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 - 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
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 - Accessing the okprompt shuts down the Solaris OS. You cannot return to the Solaris OS without rebooting the OS, for example with the bootcommand.
|
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:
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 - 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.
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
Sun Blade T6340 Server Module Installation and Administration Guide
|
820-3900-12
|
|
Copyright © 2010, Oracle and/or its affiliates. All rights reserved.