Monday, June 7, 2021

SPARC: OpenBoot - Disable Auto-Boot?

SPARC: OpenBoot - Disable Auto-Boot?

Abstract:

SPARC based platform have a level of firmware between the chassis hardware and the loaded OS called OpenBoot, The IEEE created a standard based upon it, IEEE 1275-1994, and it was called OpenFirmware. Sun Microsystem's OpenBoot was released as Open Source in 2006 under a BSD license, and other vendor implementations were also released. The persistent settings for OpenBoot are held in the environment, as well as defaults, and changes can be made to the EEPROM. The Auto-Boot? environment value is one typical value commonly adusted.

[Sun Microsystems T4-2 Chassis]

Achieve Console

Console can be achieved on a typical rack mount system via TCP/IP connection to the ILOM, with a command to grab the console to the OK prompt (assuming the autoboot flag is disabled.)

sun9876/root# ssh root@T4-2-ilom
Password:

Oracle(R) Integrated Lights Out Manager
Version 3.2.6.8 r128095
Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
Warning: HTTPS certificate is set to factory default.
Hostname: ORACLESP-1207BDY086

->

-> start /SP/console
Are you sure you want to start /SP/console (y/n)? y

Serial console started. To stop, type #.

{0} ok

The Environment

The environment consist of a series of label-value pairs. Those labels define the characteristics by which the behavior of the chassis can be modified during any changes.

Show OpenBoot Environment Values & Defaults

The printenv command shows a copy of all label-value pairs, as well as defaults.

{0} ok printenv
Variable Name Value Default Value

ttya-rts-dtr-off false false
ttya-ignore-cd true true
keyboard-layout US-English
reboot-command
security-mode none No default
security-password No default
security-#badlogins 0 No default
verbosity min min
diag-switch? false false
local-mac-address? true true
fcode-debug? false false
scsi-initiator-id 7 7
oem-logo No default
oem-logo? false false
oem-banner No default
oem-banner? false false
ansi-terminal? true true
screen-#columns 80 80
screen-#rows 34 34
ttya-mode 9600,8,n,1,- 9600,8,n,1,-
output-device virtual-console virtual-console
input-device virtual-console virtual-console
auto-boot-on-error? false false
load-base 16384 16384
auto-boot? true true
os-root-device
network-boot-arguments
boot-command boot boot
boot-file
boot-device /pci@700/pci@1/pci@0/pci ... disk net
multipath-boot? false false
boot-device-index 0 0
use-nvramrc? false false
nvramrc ." ChassisSerialNumber 1 ...
error-reset-recovery boot boot
{0} ok

Set an AutoBoot Environment

The autoboot flag, in the above example, is currently enabled, which is also the default value.
This can be disabled, for the purpose of loading a new OS after a fresh reboot.

{0} ok printenv auto-boot?
auto-boot? = true

{0} ok setenv auto-boot? false
auto-boot? = false

{0} ok printenv auto-boot?
auto-boot? = false

Conclusion:

Environment Label-Value pairs in OpenBoot drive the behavior of the firmware. This value can be set to true, to force boot on chassis power up, or to leave the OS at the "ok" prompt on power up. This is definitively helpful in an environment where a failure may take a chassis down unexpectedly, VM's were brought up on an alternate chassis, and repair of the failued chassis environment is not desirable to bring up the OS formerly running on the failed chassis until an orderly transition can be enabled.

Subscribe to: Comments (Atom)

AltStyle によって変換されたページ (->オリジナル) /