手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

eeprom(1M)

名称

eeprom - EEPROM 显示和装载实用程序

用法概要

/usr/sbin/eeprom [-] [-f device] [parameter[=value]]
/usr/sbin/eeprom -u [-x] [-] [uefi-variable[=value]] ...
/usr/sbin/eeprom -u -d uefi-variable ... 

描述

eeprom 可显示或更改 EEPROM 中的参数值。其按照给定的顺序处理参数。处理带有 valueparameter 时,eeprom 对 EEPROM 进行指定的更改;否则,显示 parameter 的值。如果未给定任何参数说明符,eeprom 会显示所有 EEPROM 参数的值。` −'(连字符)标志指定将从标准输入(每行一个 parameterparameter=value)读取参数和值。

仅超级用户可以更改 EEPROM 内容。

eeprom 验证 EEPROM 校验和,如果校验和不正确,则进行报警。

platform-name 是平台实现的名称,可使用 uname(1)–i 选项找到。

SPARC

基于 SPARC 的系统通过 security-modesecurity-passwordsecurity-#badlogins 属性,来使用 eeprom 实现固件口令保护。

x86

使用驻留在特定平台的引导区域中的文件模拟 EEPROM 存储。/boot/solaris/bootenv.rc 文件模拟 EEPROM 存储。

由于基于 x86 的系统通常在系统 BIOS 中实现口令保护,因此 eeprom 程序中不提供口令保护支持。虽然可以在基于 x86 的系统上设置 security-modesecurity-passwordsecurity-#badlogins 属性,但是这些属性在基于 x86 的系统上没有任何特殊含义或行为。

UEFI

除了模拟 EEPROM 存储,支持 UEFI 的 x86 系统还对特定于 UEFI 环境的变量实现 NVRAM 存储,如 UEFI 规范所定义。读取和写入 UEFI 变量需要所有特权。

选项

–f device

使用 device 作为 EEPROM 设备。

–u

访问 UEFI 变量,而不是 Solaris 系统变量。单独使用时将输出所有 UEFI 变量。否则,可以使用与 Solaris 系统变量相同的格式在命令行上列出要输出或写入到的单个变量。

大多数 UEFI 变量都采用二进制格式,可以转换为可读取格式。不能进行转换时,将输出十六进制格式。

–x uefi-variable

输出指定 UEFI 变量的十六进制格式,而不尝试转换。用于设置操作时,将不起作用。

–d uefi-variable

删除在命令行上指定的 UEFI 变量。

–u -

`-` 在 –u 选项下使用时,它与在常规 eeprom 命令中的使用方式相同,只是它现在在 UEFI 变量上操作。

操作数

仅限于 x86

acpi-user-options

一种配置变量,用于控制电源管理规范“高级配置和电源接口 (Advanced Configuration and Power Interface, ACPI)”的使用。此变量可接受的值取决于您所使用的 Solaris 操作系统的发行版。

对于所有发行版的 Solaris 10 和 Solaris 11,值 0x0 表示如果 ACPI 在系统上可用,将尝试使用它。值 0x2 表示禁用 ACPI。

对于 Solaris 10 1/06 发行版,值 0x8 表示如果 ACPI 在系统中可用,将以与之前发行版的 Solaris 10 兼容的模式尝试使用它。Solaris 10 1/06 的缺省值为 0x8

对于 1/06 发行版之后的 Solaris 10 以及 Solaris 11,缺省值为 0x0

大多数用户可以放心接受缺省值(在可用时启用 ACPI)。如果怀疑在 Solaris 1/06 之后的 Solaris 发行版中存在与使用 ACPI 有关的问题,建议首先尝试使用值 0x8;如果未获得满意的结果,再使用值 0x02

console

指定控制台设备。可能的值包括 ttyattybtextgraphicsforce-text。在 text 模式下,控制台输出进入帧缓存器,而输入来自键盘。text 模式的变体 graphics 会显示具有动画效果的图像,直到按下某个键或控制台登录(suloginkmdb)需要进行控制台交互。text 的另外一个变体 force-text 将通过将 VGA 适配器设置为 VGA 文本模式来避免将其用作位映射设备。如果此属性不存在,控制台设备回退到 input-deviceoutput-device 指定的设备。如果 console 属性以及 input-deviceoutput-device 属性对都不存在,控制台缺省为帧缓存器和键盘。

screen-#columns screen-#rows

screen 在位映射设备上设置为 graphicstext 时,screen-#columnsscreen-#rows 允许指定所需数量的文本列和行。它们分别缺省为 8024

仅 UEFI

BootOrder

排序的引导选项装入列表。

BootNext

仅下一次引导的引导选项。

BootCurrent

为当前引导选择的引导选项。

Boot####

引导装入选项。#### 是输出的十六进制值。没有 0x 或h 包括在十六进制值中。

ConIn

缺省输入控制台的设备路径。

ConOut

缺省输出控制台的设备路径。

ConInDev

所有可能的控制台输入设备的设备路径。

ConOutDev

所有可能的控制台输出设备的设备路径。

ErrOut

缺省错误输出设备的设备路径。

ErrOutDev

所有可能的错误输出设备的设备路径。

Lang

系统配置的语言代码。此值已过时。

PlatformLang

系统配置的语言代码。

LangCodes

固件支持的语言代码。此值已过时。

PlatformLangCodes

固件支持的语言代码。

Timeout

启动缺省引导选项之前的固件引导管理器超时,以秒为单位。

NVRAM 配置参数

NVRAM 配置参数

并非所有 OpenBoot 系统均支持所有参数。缺省值取决于系统以及 PROM 修订。请参见在 ok (OpenBoot) 提示符下输入 printenv 命令时,该命令的 "Default Value"(缺省值)列中的输出,以确定系统的缺省值。

auto-boot?

如果为 true,在打开电源或重置后自动引导。缺省值为 true。在 x86 上,此参数由 grub 菜单文件控制。请参见 installgrub(1M)

ansi-terminal?

用于控制终端仿真程序行为的配置变量。值 false 使终端仿真程序停止解释 ANSI 转义序列,而是将其回显至输出设备。缺省值为 true

boot-args

保存传递至引导子系统的参数字符串。例如,可以使用 boot-args=' - install dhcp' 请求定制 jumpstart 安装。请参见 boot(1M)kmdb(1)kernel(1M)

boot-command

auto-boot?true 时执行的命令。缺省值为 boot

boot-device

从其进行引导的设备。boot-device 可能包含 0 个或多个以空格分隔的设备说明符。每个设备说明符可以是 prom 设备别名或 prom 设备路径。从第一个设备说明符开始,引导 prom 将尝试打开列表中随后的每一个设备说明符。成功打开的第一个设备说明符将用作从中进行引导的设备。缺省值为 disk net

boot-device-index

跟踪设备索引,将其记录到 boot-device 变量。

boot-file

要进行引导的文件(空字符串会使辅助引导程序选择缺省值)。缺省值为空字符串。

boot-from

引导设备和文件(仅限 OpenBoot PROM 版本 1.x)。缺省值为 vmunix

boot-from-diag

诊断引导设备和文件(仅限 OpenBoot PROM 版本 1.x)。缺省值为 le( )unix

boot-ncpus

用于控制系统引导应使用的处理器数的配置变量。缺省情况下,系统引导时使用所支持的最大处理器数。

comX-noprobe

其中,X 是串行端口号,用于阻止串行端口 X 上的设备探测器。

diag-device

诊断引导源设备。缺省值为 net

diag-file

在诊断模式下从其进行引导的文件。缺省值为空字符串。

diag-level

诊断级别。值包括 offminmaxmenus。可能还具有特定平台的值。如果设置为 off,则不调用 POST。如果调用 POST,该值将可作为 POST 的参数并由其进行解释。缺省值为 platform-dependent

diag-switch?

如果为 true,则在诊断模式下运行。在大多数桌面系统上,缺省值为 false;在大多数服务器上,缺省值为 true

error-reset-recovery

在错误重置陷阱后恢复。缺省值为特定平台的设置。

在支持此变量的平台上,它会代替 watchdog-reboot?watchdog-sync?redmode-reboot?redmode-sync?sir-sync?xir-sync? 参数。

选项包括:

none

列出说明重置陷阱的消息,并转到 OpenBoot PROM 用户界面中的 aka OK 提示符。

sync

在重置陷阱后,调用 OpenBoot PROM 的 sync 一词。在外部启动重置 (externally initiated reset, XIR) 陷阱后,一些平台可能会将其视为 none

boot(引导)

在重置陷阱后重新引导。在 XIR 陷阱后,一些平台可能会将其视为 none

fcode-debug?

如果为 true,则包含插件设备 FCode 的名称参数。缺省值为 false

hardware-revision

系统版本信息。

input-device

打开电源时所用的输入设备(通常为 keyboardttyattyb)。缺省值为 keyboard

keyboard-click?

如果为 true,则启用键盘单击。缺省值为 false

keyboard-layout

为非自识别键盘(7c 类型)指定布局名称的字符串。调用 kbd –s,以获取可接受的布局名称列表。请参见 kbd(1)

keymap

定制键盘的键盘映射。

last-hardware-update

系统更新信息。

load-base

客户机程序的缺省装载地址。缺省值为 16384

local-mac-address?

如果为 true,网络驱动程序将使用其自己的 MAC 地址,而不是系统的地址。缺省值为 false

mfg-mode

POST 的创建模式参数。可能的值包括 offchamber。该值作为参数传递给 POST。缺省值为 off

mfg-switch?

如果为 true,则重复系统自检测,直到使用 STOP-A 中断。缺省值为 false

multipath-boot?

如果为 true,则由 PROM 用于在 boot-device 变量提供的 I/O 设备列表中循环,直到使用列表中的某个设备成功执行引导。

nvramrc

NVRAMRC 的内容。缺省值为空。

network-boot-arguments

PROM 将用于进行网络引导的参数。缺省值为空字符串。network-boot-arguments 可用于指定要使用的引导协议 (RARP/DHCP) 以及在进程中要使用的系统知识范围。

网络引导支持的参数的语法为:

[protocol,] [key=value,]*

所有参数均是可选的,显示顺序随意。除非参数位于列表末尾,否则需要使用逗号。如果进行了指定,参数将优先于任何缺省值,或者,如果使用 DHCP 进行引导,则优先于 DHCP 服务器为那些参数提供的配置信息。

上述的 protocol 指定要使用的地址搜索协议。

下列配置参数被指定为 key=value 属性对。

tftp-server

TFTP 服务器的 IP 地址

file

针对 WAN Boot 要使用 TFTP 或 URL 下载的文件

host-ip

客户机的 IP 地址(采用点分十进制记法)

router-ip

缺省路由器的 IP 地址(采用点分十进制记法)

subnet-mask

子网掩码(采用点分十进制记法)

client-id

DHCP 客户机标识符

hostname

DHCP 事务中要使用的主机名

http-proxy

HTTP 代理服务器规范 (IPADDR[:PORT])

tftp-retries

TFTP 重试的最大次数

dhcp-retries

DHCP 重试的最大次数

如果未指定任何参数(即 network-boot-arguments 为空字符串),PROM 将使用特定平台的缺省地址搜索协议。

如果在指定其他系统参数时缺少协议参数,则意味着需要手动配置。

手动配置要求客户机带有引导所需的所有信息。如果使用手动配置,必须在 network-boot-arguments 中提供 PROM 装载第二阶段引导程序所需的信息,而第二阶段引导程序所需的信息可以作为 boot 程序的参数进行指定,也可以通过 boot 程序的交互式命令解释程序进行指定。

使用手动配置时 PROM 所需的信息包括引导客户机的 IP 地址、引导文件的名称,以及提供引导文件映像的服务器的地址。根据网络配置,可能还需要指定要使用的缺省路由器的子网掩码和地址。

oem-banner

定制 OEM 标题(通过将 oem-banner? 设置为 true 启用)。缺省值为空字符串。

oem-banner?

如果为 true,则使用定制 OEM 标题。缺省值为 false

oem-logo

字节数组定制 OEM 徽标(通过将 oem-logo? 设置为 true 启用)。以十六进制形式显示。

oem-logo?

如果为 true,则使用定制 OEM 徽标(否则,使用 Oracle 徽标)。缺省值为 false

pci-mem64?

如果为 true,OpenBoot PROM 会将 64 位 PCI 内存地址分配至能够支持 64 位地址的 PCI 设备。

此变量仅在 SPARC 平台上可用,且是可选的。一些版本的 SunOS 不支持 PCI MEM64 地址,且如果 OpenBoot PROM 分配 PCI MEM64 地址,它们会以意外的方式出现故障。

缺省值取决于系统。如果变量存在,缺省值适用于随特定平台提供的 SunOS 的最低版本。

output-device

打开电源时所用的输出设备(通常为 screenttyattyb)。缺省值为 screen

redmode-reboot?

指定 true,以在 redmode 重置陷阱后重新引导。缺省值为 true。(仅限 Sun Enterprise 10000。)

redmode-sync?

指定 true,以在 redmode 重置陷阱后调用 OpenBoot PROM 的 sync 一词。缺省值为 false。(仅限 Sun Enterprise 10000。)

rootpath

指定操作系统的根设备。

sbus-probe-list

指定以何种顺序对哪些 SBus 插槽进行探测。缺省值为 0123

screen-#columns

屏幕列数(字符数/行)。缺省值为 80

screen-#rows

屏幕行数。缺省值为 34

scsi-initiator-id

主机适配器的 SCSI 总线地址,范围为 0-7。缺省值为 7

sd-targets

映射 SCSI 磁盘单元(仅限 OpenBoot PROM 版本 1.x)。缺省值为 31204567,这表示单元 0 映射至目标 3,单元 1 映射至目标 1,依此类推。

security-#badlogins

报告安全口令输入错误尝试次数。eeprom security-#badlogins=0 将重置该值。在基于 x86 的系统上,此属性没有任何特殊含义或行为。

security-mode

固件安全级别(选项:nonecommandfull)。如果设置为 commandfull,系统将提示您输入 PROM 安全口令。缺省值为 none。在基于 x86 的系统上,此属性没有任何特殊含义或行为。

security-password

固件安全口令(从不显示)。仅当 security-mode 设置为 commandfull 时才可以设置此属性。在基于 x86 的系统上,此属性没有任何特殊含义或行为。


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

要测试的 RAM 兆字节数。如果 diag-switch?true,则忽略此属性。缺省值为 1

sir-sync?

指定 true,以在软件启动重置 (software-initiated reset, SIR) 陷阱后调用 OpenBoot PROM 的 sync 一词。缺省值为 false。(仅限 Sun Enterprise 10000。)

skip-vme-loopback?

如果为 true,POST 将不执行 VMEbus 回送测试。缺省值为 false

st-targets

映射 SCSI 磁带单元(仅限 OpenBoot PROM 版本 1.x)。缺省值为 45670123,这表示单元 0 映射至目标 4,单元 1 映射至目标 5,依此类推。

sunmon-compat?

如果为 true,则显示 Restricted Monitor 提示符 ( >)。 缺省值为 false

testarea

单字节临时字段,可用于读写测试。缺省值为 0

tpe-link-test?

对于内置双绞线以太网,启用 10baseT 链接测试。缺省值为 true

ttya-mode

TTYA(波特率、数据位数、奇偶校验、停止位数、握手)。缺省值为 9600、8、n、1、−

按从左至右的顺序,这些字段为:

波特率:

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)

ttyb-mode

TTYB(波特率、数据位数、奇偶校验、停止位数、握手)。缺省值为 9600、8、n、1、−

按从左至右的顺序,这些字段为:

波特率:

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

如果为 true,操作系统忽略 TTYA 上的载体检测。缺省值为 true

ttyb-ignore-cd

如果为 true,操作系统忽略 TTYB 上的载体检测。缺省值为 true

ttya-rts-dtr-off

如果为 true,操作系统不在 TTYA 上插入 DTR 和 RTS。缺省值为 false

ttyb-rts-dtr-off

如果为 true,操作系统不在 TTYB 上插入 DTR 和 RTS。缺省值为 false

use-nvramrc?

如果为 true,则在系统启动时执行 NVRAMRC 中的命令。缺省值为 false

verbosity

控制 PROM 消息的详细级别。值可以是 debugmaxnormalminnone 之一。缺省值为 normal

version2?

如果为 true,混合 (1.x/2.x) PROM 在版本 2.x 中显示。缺省值为 true

watchdog-reboot?

如果为 true,则在监视程序重置后重新引导。缺省值为 false

watchdog-sync?

指定 true,以在监视程序重置陷阱后调用 OpenBoot PROM 的 sync 一词。缺省值为 false。(仅限 Sun Enterprise 10000。)

xir-sync?

指定 true,以在 XIR 陷阱后调用 OpenBoot PROM 的 sync 一词。缺省值为 false。(仅限 Sun Enterprise 10000。)

示例

示例 1 更改 RAM 的兆字节数。

以下示例演示了将系统测试的 RAM 兆字节数从 1 兆字节更改为 2 兆字节的方法。

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

example# eeprom selftest-#megs=2

example# eeprom selftest-#megs
selftest-#megs=2
示例 2 auto-boot? 参数设置为 true

以下示例演示了将 auto-boot? 参数设置为 true 的方法。

example# eeprom auto-boot?=true

在用户模式下执行 eeprom 命令时,带有结尾问号 (?) 的参数需要括在双引号 (“ “) 中,以免 shell 解释问号。在问号前加一个转义符 (\) 也可以防止 shell 解释问号。

example% eeprom "auto-boot?"=true
示例 3 使用 network-boot-arguments

要使用 DHCP 作为引导协议和 abcd.example.com 主机名来进行网络引导,请将 network-boot-arguments 中的这些值设置为:

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

...然后使用以下命令引导:

ok boot net

请注意,从 PROM 命令行指定的网络引导参数会导致 network-boot-arguments 的内容被忽略。例如,如果将 network-boot-arguments 设置为如上所示,则 boot 命令:

ok boot net:dhcp

...导致使用 DHCP,但是在 network-boot-arguments 中指定的 hostname 在网络引导时不会使用。

示例 4 将系统控制台设置为辅助设备

以下命令将设备 /dev/term/a 分配为系统控制台设备。在使用 tip(1) 来建立到主机的 tip 连接之前进行赋值。

在 SPARC 计算机上:

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

在 x86 计算机上:

# eeprom console=ttya

在 SPARC 计算机上,上述命令已足以用于将控制台分配至辅助设备。对于 x86 计算机,您可能还需要设置串行线的特征(请参见该计算机的 BIOS 文档)。此外,在一些 x86 计算机上,可以使用设备 a 以外的设备,如上所示。例如,如果存在第二个串行端口,可将控制台设置为 ttyb

示例 5 指定 SPARC 系统引导至 kmdb

要指定 SPARC 计算机引导至 kmdb(1),请输入以下命令:

# eeprom boot-command="boot -k"

文件

/boot/solaris/bootenv.rc

用于在 x86 计算机上存储 eeprom 值的文件。

/dev/openprom

设备文件

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

特定平台版本的 eeprom。使用 uname –i 获取 platform-name

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os

另请参见

kmdb(1)passwd(1)sh(1)svcs(1)tip(1)uname(1)boot(1M)kernel(1M)init(1M)svcadm(1M)attributes(5)smf(5)

OpenBoot 3.x Command Reference Manual

ONC+ RPC Developer’s Guide