EEPROM(8) Maintenance Commands and Procedures EEPROM(8)

NAME


eeprom - EEPROM display and load utility

SYNOPSIS


/usr/sbin/eeprom [-] [-f device] [parameter[=value]]


DESCRIPTION


eeprom displays or changes the values of parameters in the EEPROM. It
processes parameters in the order given. When processing a parameter
accompanied by a value, eeprom makes the indicated alteration to the
EEPROM; otherwise, it displays the parameter's value. When given no
parameter specifiers, eeprom displays the values of all EEPROM
parameters. A `-' (hyphen) flag specifies that parameters and values are
to be read from the standard input (one parameter or parameter=value per
line).


Only the super-user may alter the EEPROM contents.


eeprom verifies the EEPROM checksums and complains if they are incorrect.


platform-name is the name of the platform implementation and can be found
using the -i option of uname(1).

SPARC


SPARC based systems implement firmware password protection with eeprom,
using the security-mode, security-password and security-#badlogins
properties.

x86
EEPROM storage is simulated using a file residing in the platform-
specific boot area. The /boot/solaris/bootenv.rc file simulates EEPROM
storage.


Because x86 based systems typically implement password protection in the
system BIOS, there is no support for password protection in the eeprom
program. While it is possible to set the security-mode, security-password
and security-#badlogins properties on x86 based systems, these properties
have no special meaning or behavior on x86 based systems.

OPTIONS


-f device

Use device as the EEPROM device.


OPERANDS


x86 Only
acpi-user-options

A configuration variable that controls the use of Advanced
Configuration and Power Interface (ACPI), a power management
specification. The acceptable values for this variable depend on the
release of the Solaris operating system you are using.

For all releases of Solaris 10 and Solaris 11, a value of of 0x0
means that there will be an attempt to use ACPI if it is available on
the system. A value of 0x2 disables the use of ACPI.

For the Solaris 10 1/06 release, a value of 0x8 means that there will
be an attempt to use ACPI in a mode compatible with previous releases
of Solaris 10 if it is available on the system. The default for
Solaris 10 1/06 is 0x8.

For releases of Solaris 10 after the 1/06 release and for Solaris 11,
the default is 0x0.

Most users can safely accept the default value, which enables ACPI if
available. If issues related to the use of ACPI are suspected on
releases of Solaris after Solaris 1/06, it is suggested to first try
a value of 0x8 and then, if you do not obtain satisfactory results,
0x02.


console

Specifies the console device. Possible values are ttya, ttyb, ttyc,
ttyd, and text. In text mode, console output goes to the frame buffer
and input comes from the keyboard. For SPARC, when this property is
not present, the console device falls back to the device specified by
input-device and output-device. When neither the console property or
the input-device and output-device property pair are present, the
console defaults to the frame buffer and keyboard.

os_console

While console controls both boot loader and kernel console, setting
os_console allows setting console device only for kernel. Values are
the same as for console.

diag-device

The diag-device is currently implemented to support serial port as
output for system early boot diagnostic messages and input and output
for kmdb debugger. For early boot, all the console messages are
mirrored to diag-device, until the console drivers are loaded. After
that, only kmdb will continue to use the diag-device.

segkpsize

Specifies the amount in bytes of kernel pageable memory available.
Increasing this variable allows either larger stacks for the same
number of kernel threads or more kernel threads, by default this
value is 0x80000000 (2GiB). If the value specified exceeds the size
of physical memory it will be automatically capped to that.

Valid Ranges: 0xC800000 - 0x200000000(200MiB - 8GiB)


NVRAM CONFIGURATION PARAMETERS


Not all OpenBoot systems support all parameters. Defaults vary depending
on the system and the PROM revision. See the output in the "Default
Value" column of the printenv command, as entered at the ok (OpenBoot)
prompt, to determine the default for your system.

auto-boot?

If true, boots automatically after power-on or reset. Defaults to
true.


ansi-terminal?

Configuration variable used to control the behavior of the terminal
emulator. The value false makes the terminal emulator stop
interpreting ANSI escape sequences; instead, echoes them to the
output device. Defaults to true.


boot-args

Holds a string of arguments that are passed to the boot subsystem.
For example, you can use boot-args=' - install dhcp' to request a
customer jumpstart installation. See boot(8), kadb(8) and kernel(8).


boot-command

Command executed if auto-boot? is true. Defaults to boot.


boot-device

Device from which to boot. boot-device may contain 0 or more device
specifiers separated by spaces. Each device specifier may be either a
prom device alias or a prom device path. The boot prom will attempt
to open each successive device specifier in the list beginning with
the first device specifier. The first device specifier that opens
successfully will be used as the device to boot from. Defaults to
disk net.


boot-file

File to boot (an empty string lets the secondary booter choose
default). Defaults to empty string.


boot-from

Boot device and file (OpenBoot PROM version 1.x only). Defaults to
vmunix.


boot-from-diag

Diagnostic boot device and file (OpenBoot PROM version 1.x only).
Defaults to le()unix.


boot-ncpus

Configuration variable that controls the number of processors with
which the system should boot. By default, the system boots with
maximum supported number of processors.


comX-noprobe

Where X is the number of the serial port, prevents device probe on
serial port X.


diag-device

Diagnostic boot source device. Defaults to net.


diag-file

File from which to boot in diagnostic mode. Defaults to empty string.


diag-level

Diagnostics level. Values include off, min, max and menus. There may
be additional platform-specific values. When set to off, POST is not
called. If POST is called, the value is made available as an argument
to, and is interpreted by POST. Defaults to platform-dependent.


diag-switch?

If true, run in diagnostic mode. Defaults to false on most desktop
systems, true on most servers.


error-reset-recovery

Recover after an error reset trap. Defaults to platform-specific
setting.

On platforms supporting this variable, it replaces the watchdog-
reboot?, watchdog-sync?, redmode-reboot?, redmode-sync?, sir-sync?,
and xir-sync? parameters.

The options are:

none

Print a message describing the reset trap and go to OpenBoot
PROM's user interface, aka OK prompt.


sync

Invoke OpenBoot PROM's sync word after the reset trap. Some
platforms may treat this as none after an externally initiated
reset (XIR) trap.


boot

Reboot after the reset trap. Some platforms may treat this as
none after an XIR trap.


fcode-debug?

If true, include name parameter for plug-in device FCodes. Defaults
to false.


hardware-revision

System version information.


input-device

Input device used at power-on (usually keyboard, ttya, ttyb, ttyc, or
ttyd). Defaults to keyboard.


keyboard-click?

If true, enable keyboard click. Defaults to false.


keyboard-layout

A string that specifies the layout name for non-self-identifying
keyboards (type 7c). Invoke kbd -s to obtain a list of acceptable
layout names. See kbd(1).


keymap

Keymap for custom keyboard.


last-hardware-update

System update information.


load-base

Default load address for client programs. Default value is 16384.


local-mac-address?

If true, network drivers use their own MAC address, not the system's.
Defaults to false.


mfg-mode

Manufacturing mode argument for POST. Possible values include off or
chamber. The value is passed as an argument to POST. Defaults to off.


mfg-switch?

If true, repeat system self-tests until interrupted with STOP-A.
Defaults to false.


nvramrc

Contents of NVRAMRC. Defaults to empty.


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.

The syntax for arguments supported for network booting is:

[protocol,] [key=value,]*


All arguments are optional and can appear in any order. Commas are
required unless the argument is at the end of the list. If specified,
an argument takes precedence over any default values, or, if booting
using DHCP, over configuration information provided by a DHCP server
for those parameters.

protocol, above, specifies the address discovery protocol to be used.

Configuration parameters, listed below, are specified as key=value
attribute pairs.

tftp-server

IP address of the TFTP server


file

file to download using TFTP or URL for WAN boot


host-ip

IP address of the client (in dotted-decimal notation)


router-ip

IP address of the default router (in dotted-decimal notation)


subnet-mask

subnet mask (in dotted-decimal notation)


client-id

DHCP client identifier


hostname

hostname to use in DHCP transactions


http-proxy

HTTP proxy server specification (IPADDR[:PORT])


tftp-retries

maximum number of TFTP retries


dhcp-retries

maximum number of DHCP retries

If no parameters are specified (that is, network-boot-arguments is an
empty string), the PROM will use the platform-specific default
address discovery protocol.

Absence of the protocol parameter when other configuration parameters
are specified implies manual configuration.

Manual configuration requires that the client be provided with all
the information necessary for boot. If using manual configuration,
information required by the PROM to load the second-stage boot
program must be provided in network-boot-arguments while information
required for the second-stage boot program can be specified either as
arguments to the boot program or by means of the boot program's
interactive command interpreter.

Information required by the PROM when using manual configuration
includes the booting client's IP address, name of the boot file, and
the address of the server providing the boot file image. Depending on
network configuration, it might be required that the subnet mask and
address of the default router to use also be specified.


oem-banner

Custom OEM banner (enabled by setting oem-banner? to true). Defaults
to empty string.


oem-banner?

If true, use custom OEM banner. Defaults to false.


oem-logo

Byte array custom OEM logo (enabled by setting oem-logo? to true).
Displayed in hexadecimal.


oem-logo?

If true, use custom OEM logo (else, use Sun logo). Defaults to false.


pci-mem64?

If true, the OpenBoot PROM allocates 64-bit PCI memory addresses to a
PCI device that can support 64-bit addresses.

This variable is available on SPARC platforms only and is optional.
Some versions of SunOS do not support PCI MEM64 addresses and will
fail in unexpected ways if the OpenBoot PROM allocates PCI MEM64
addresses.

The default value is system-dependent. If the variable exists, the
default value is appropriate to the lowest version of the SunOS that
shipped with a specific platform.


output-device

Output device used at power-on (usually screen, ttya, ttyb, ttyc, or
ttyd). Defaults to screen.


rootpath

Specifies the root device of the operating system.


sbus-probe-list

Designate which SBus slots are probed and in what order. Defaults to
0123.


screen-#columns

Number of on-screen columns (characters/line). Defaults to 80.


screen-#rows

Number of on-screen rows (lines). Defaults to 34.


scsi-initiator-id

SCSI bus address of host adapter, range 0-7. Defaults to 7.


sd-targets

Map SCSI disk units (OpenBoot PROM version 1.x only). Defaults to
31204567, which means that unit 0 maps to target 3, unit 1 maps to
target 1, and so on.


security-#badlogins

Number of incorrect security password attempts.This property has no
special meaning or behavior on x86 based systems.


security-mode

Firmware security level (options: none, command, or full). If set to
command or full, system will prompt for PROM security password.
Defaults to none.This property has no special meaning or behavior on
x86 based systems.


security-password

Firmware security password (never displayed). Can be set only when
security-mode is set to command or full.This property has no special
meaning or behavior on x86 based systems.

example# eeprom security-password=
Changing PROM password:
New password:
Retype new password:


selftest-#megs

Megabytes of RAM to test. Ignored if diag-switch? is true. Defaults
to 1.


skip-vme-loopback?

If true, POST does not do VMEbus loopback tests. Defaults to false.


st-targets

Map SCSI tape units (OpenBoot PROM version 1.x only). Defaults to
45670123, which means that unit 0 maps to target 4, unit 1 maps to
target 5, and so on.


sunmon-compat?

If true, display Restricted Monitor prompt (>). Defaults to false.


testarea

One-byte scratch field, available for read/write test. Defaults to 0.


tpe-link-test?

Enable 10baseT link test for built-in twisted pair Ethernet. Defaults
to true.


ttya-mode

TTYA (baud rate, #bits, parity, #stop, handshake). Defaults to
9600,8,n,1,-.

Fields, in left-to-right order, are:

Baud rate:

110, 300, 1200, 4800, 9600...


Data bits:

5, 6, 7, 8


Parity:

n(none), e(even), o(odd), m(mark), s(space)


Stop bits:

1, 1.5, 2


Handshake:

-(none), h(hardware:rts/cts), s(software:xon/xoff)


ttyX-mode

TTYB, TTYC, or TTYD (baud rate, #bits, parity, #stop, handshake).
Defaults to 9600,8,n,1,-.

Fields, in left-to-right order, are:

Baud rate:

110, 300, 1200, 4800, 9600...


Data bits:

5, 6, 7, 8


Stop bits:

1, 1.5, 2


Parity:

n(none), e(even), o(odd), m(mark), s(space)


Handshake:

-(none), h(hardware:rts/cts), s(software:xon/xoff)


ttya-ignore-cd

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


ttyX-ignore-cd

If true, operating system ignores carrier-detect on TTYB, TTYC, or
TTYD. Defaults to true.


ttya-rts-dtr-off

If true, operating system does not assert DTR and RTS on TTYA.
Defaults to false.


ttyX-rts-dtr-off

If true, operating system does not assert DTR and RTS on TTYB, TTYC,
or TTYD. Defaults to false.


use-nvramrc?

If true, execute commands in NVRAMRC during system start-up.
Defaults to false.


verbosity

Controls the level of verbosity of PROM messages. Can be one of
debug, max, normal, min, or none. Defaults to normal.


version2?

If true, hybrid (1.x/2.x) PROM comes up in version 2.x. Defaults to
true.


watchdog-reboot?

If true, reboot after watchdog reset. Defaults to false.


EXAMPLES


Example 1: Changing the Number of Megabytes of RAM.




The following example demonstrates the method for changing from one to
two the number of megabytes of RAM that the system will test.


example# eeprom selftest-#megs
selftest-#megs=1

example# eeprom selftest-#megs=2

example# eeprom selftest-#megs
selftest-#megs=2


Example 2: Setting the auto-boot? Parameter to true.




The following example demonstrates the method for setting the auto-boot?
parameter to true.


example# eeprom auto-boot?=true


When the eeprom command is executed in user mode, the parameters with a
trailing question mark (?) need to be enclosed in double quotation marks
(" ") to prevent the shell from interpreting the question mark. Preceding
the question mark with an escape character (\) will also prevent the
shell from interpreting the question mark.


example% eeprom "auto-boot?"=true


Example 3: Using network-boot-arguments




To use DHCP as the boot protocol and a hostname of abcd.example.com for
network booting, set these values in network-boot-arguments as:


example# eeprom network-boot-arguments="dhcp,hostname=abcd.example.com"


...then boot using the command:


ok boot net


Note that network boot arguments specified from the PROM command line
cause the contents of network-boot-arguments to be ignored. For example,
with network-boot-arguments set as shown above, the boot command:


ok boot net:dhcp


...causes DHCP to be used, but the hostname specified in network-boot-
arguments will not be used during network boot.


Example 4: Setting System Console to Auxiliary Device




The command below assigns the device /dev/term/a as the system console
device. You would make such an assignment prior to using tip(1) to
establish a tip connection to a host.


On a SPARC machine:


# eeprom output-device=/dev/term/a


On an x86 machine:


# eeprom console=ttya


On a SPARC machine, the preceding command would be sufficient for
assigning the console to an auxiliary device. For an x86 machine, you
might, in addition, need to set the characteristics of the serial line,
for which you would have to consult the BIOS documentation for that
machine. Also, on some x86 machines, you might use a device other than
device a, as shown above. For example, you could set console to ttyb if
the second serial port is present.

Example 5: Changing segkpsize.




The following example demonstrates the method for changing the number of
bytes that will be used for kernel pageable memory. Running the
following command will set segkpsize to 3GiB.

# eeprom segkpsize=0xC0000000


FILES


/boot/solaris/bootenv.rc

File storing eeprom values on x86 machines.


/dev/openprom

Device file


/usr/platform/platform-name/sbin/eeprom

Platform-specific version of eeprom. Use uname -i to obtain platform-
name.


SEE ALSO


passwd(1), sh(1), svcs(1), tip(1), uname(1), attributes(7), smf(7),
boot(8), init(8), kadb(8), kernel(8), svcadm(8)


OpenBoot 3.x Command Reference Manual


June 13, 2019 EEPROM(8)