/usr/sbin/eeprom [-] [-f device] [parameter[=value]]
/usr/sbin/eeprom -u [-x] [-] [uefi-variable[=value]] ...
/usr/sbin/eeprom -u -d uefi-variable ...
eeprom 可显示或更改 EEPROM 中的参数值。其按照给定的顺序处理参数。处理带有 value 的 parameter 时,eeprom 对 EEPROM 进行指定的更改;否则,显示 parameter 的值。如果未给定任何参数说明符,eeprom 会显示所有 EEPROM 参数的值。` −'(连字符)标志指定将从标准输入(每行一个 parameter 或 parameter=value)读取参数和值。
仅超级用户可以更改 EEPROM 内容。
eeprom 验证 EEPROM 校验和,如果校验和不正确,则进行报警。
platform-name 是平台实现的名称,可使用 uname(1) 的 –i 选项找到。
基于 SPARC 的系统通过 security-mode、security-password 和 security-#badlogins 属性,来使用 eeprom 实现固件口令保护。
使用驻留在特定平台的引导区域中的文件模拟 EEPROM 存储。/boot/solaris/bootenv.rc 文件模拟 EEPROM 存储。
由于基于 x86 的系统通常在系统 BIOS 中实现口令保护,因此 eeprom 程序中不提供口令保护支持。虽然可以在基于 x86 的系统上设置 security-mode、security-password 和 security-#badlogins 属性,但是这些属性在基于 x86 的系统上没有任何特殊含义或行为。
除了模拟 EEPROM 存储,支持 UEFI 的 x86 系统还对特定于 UEFI 环境的变量实现 NVRAM 存储,如 UEFI 规范所定义。读取和写入 UEFI 变量需要所有特权。
使用 device 作为 EEPROM 设备。
访问 UEFI 变量,而不是 Solaris 系统变量。单独使用时将输出所有 UEFI 变量。否则,可以使用与 Solaris 系统变量相同的格式在命令行上列出要输出或写入到的单个变量。
大多数 UEFI 变量都采用二进制格式,可以转换为可读取格式。不能进行转换时,将输出十六进制格式。
输出指定 UEFI 变量的十六进制格式,而不尝试转换。用于设置操作时,将不起作用。
删除在命令行上指定的 UEFI 变量。
`-` 在 –u 选项下使用时,它与在常规 eeprom 命令中的使用方式相同,只是它现在在 UEFI 变量上操作。
一种配置变量,用于控制电源管理规范“高级配置和电源接口 (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。
指定控制台设备。可能的值包括 ttya、ttyb、text、graphics 和 force-text。在 text 模式下,控制台输出进入帧缓存器,而输入来自键盘。text 模式的变体 graphics 会显示具有动画效果的图像,直到按下某个键或控制台登录(sulogin 或 kmdb)需要进行控制台交互。text 的另外一个变体 force-text 将通过将 VGA 适配器设置为 VGA 文本模式来避免将其用作位映射设备。如果此属性不存在,控制台设备回退到 input-device 和 output-device 指定的设备。如果 console 属性以及 input-device 和output-device 属性对都不存在,控制台缺省为帧缓存器和键盘。
当 screen 在位映射设备上设置为 graphics 或 text 时,screen-#columns 和 screen-#rows 允许指定所需数量的文本列和行。它们分别缺省为 80 和 24。
排序的引导选项装入列表。
仅下一次引导的引导选项。
为当前引导选择的引导选项。
引导装入选项。#### 是输出的十六进制值。没有 0x 或h 包括在十六进制值中。
缺省输入控制台的设备路径。
缺省输出控制台的设备路径。
所有可能的控制台输入设备的设备路径。
所有可能的控制台输出设备的设备路径。
缺省错误输出设备的设备路径。
所有可能的错误输出设备的设备路径。
系统配置的语言代码。此值已过时。
系统配置的语言代码。
固件支持的语言代码。此值已过时。
固件支持的语言代码。
启动缺省引导选项之前的固件引导管理器超时,以秒为单位。
并非所有 OpenBoot 系统均支持所有参数。缺省值取决于系统以及 PROM 修订。请参见在 ok (OpenBoot) 提示符下输入 printenv 命令时,该命令的 "Default Value"(缺省值)列中的输出,以确定系统的缺省值。
如果为 true,在打开电源或重置后自动引导。缺省值为 true。在 x86 上,此参数由 grub 菜单文件控制。请参见 installgrub(1M)。
用于控制终端仿真程序行为的配置变量。值 false 使终端仿真程序停止解释 ANSI 转义序列,而是将其回显至输出设备。缺省值为 true。
保存传递至引导子系统的参数字符串。例如,可以使用 boot-args=' - install dhcp' 请求定制 jumpstart 安装。请参见 boot(1M)、kmdb(1) 和 kernel(1M)。
auto-boot? 为 true 时执行的命令。缺省值为 boot。
从其进行引导的设备。boot-device 可能包含 0 个或多个以空格分隔的设备说明符。每个设备说明符可以是 prom 设备别名或 prom 设备路径。从第一个设备说明符开始,引导 prom 将尝试打开列表中随后的每一个设备说明符。成功打开的第一个设备说明符将用作从中进行引导的设备。缺省值为 disk net。
跟踪设备索引,将其记录到 boot-device 变量。
要进行引导的文件(空字符串会使辅助引导程序选择缺省值)。缺省值为空字符串。
引导设备和文件(仅限 OpenBoot PROM 版本 1.x)。缺省值为 vmunix。
诊断引导设备和文件(仅限 OpenBoot PROM 版本 1.x)。缺省值为 le( )unix。
用于控制系统引导应使用的处理器数的配置变量。缺省情况下,系统引导时使用所支持的最大处理器数。
其中,X 是串行端口号,用于阻止串行端口 X 上的设备探测器。
诊断引导源设备。缺省值为 net。
在诊断模式下从其进行引导的文件。缺省值为空字符串。
诊断级别。值包括 off、min、max 和 menus。可能还具有特定平台的值。如果设置为 off,则不调用 POST。如果调用 POST,该值将可作为 POST 的参数并由其进行解释。缺省值为 platform-dependent。
如果为 true,则在诊断模式下运行。在大多数桌面系统上,缺省值为 false;在大多数服务器上,缺省值为 true。
在错误重置陷阱后恢复。缺省值为特定平台的设置。
在支持此变量的平台上,它会代替 watchdog-reboot?、watchdog-sync?、redmode-reboot?、redmode-sync?、sir-sync? 和 xir-sync? 参数。
选项包括:
列出说明重置陷阱的消息,并转到 OpenBoot PROM 用户界面中的 aka OK 提示符。
在重置陷阱后,调用 OpenBoot PROM 的 sync 一词。在外部启动重置 (externally initiated reset, XIR) 陷阱后,一些平台可能会将其视为 none。
在重置陷阱后重新引导。在 XIR 陷阱后,一些平台可能会将其视为 none。
如果为 true,则包含插件设备 FCode 的名称参数。缺省值为 false。
系统版本信息。
打开电源时所用的输入设备(通常为 keyboard、ttya 或 ttyb)。缺省值为 keyboard。
如果为 true,则启用键盘单击。缺省值为 false。
为非自识别键盘(7c 类型)指定布局名称的字符串。调用 kbd –s,以获取可接受的布局名称列表。请参见 kbd(1)。
定制键盘的键盘映射。
系统更新信息。
客户机程序的缺省装载地址。缺省值为 16384。
如果为 true,网络驱动程序将使用其自己的 MAC 地址,而不是系统的地址。缺省值为 false。
POST 的创建模式参数。可能的值包括 off 或 chamber。该值作为参数传递给 POST。缺省值为 off。
如果为 true,则重复系统自检测,直到使用 STOP-A 中断。缺省值为 false。
如果为 true,则由 PROM 用于在 boot-device 变量提供的 I/O 设备列表中循环,直到使用列表中的某个设备成功执行引导。
NVRAMRC 的内容。缺省值为空。
PROM 将用于进行网络引导的参数。缺省值为空字符串。network-boot-arguments 可用于指定要使用的引导协议 (RARP/DHCP) 以及在进程中要使用的系统知识范围。
网络引导支持的参数的语法为:
[protocol,] [key=value,]*
所有参数均是可选的,显示顺序随意。除非参数位于列表末尾,否则需要使用逗号。如果进行了指定,参数将优先于任何缺省值,或者,如果使用 DHCP 进行引导,则优先于 DHCP 服务器为那些参数提供的配置信息。
上述的 protocol 指定要使用的地址搜索协议。
下列配置参数被指定为 key=value 属性对。
TFTP 服务器的 IP 地址
针对 WAN Boot 要使用 TFTP 或 URL 下载的文件
客户机的 IP 地址(采用点分十进制记法)
缺省路由器的 IP 地址(采用点分十进制记法)
子网掩码(采用点分十进制记法)
DHCP 客户机标识符
DHCP 事务中要使用的主机名
HTTP 代理服务器规范 (IPADDR[:PORT])
TFTP 重试的最大次数
DHCP 重试的最大次数
如果未指定任何参数(即 network-boot-arguments 为空字符串),PROM 将使用特定平台的缺省地址搜索协议。
如果在指定其他系统参数时缺少协议参数,则意味着需要手动配置。
手动配置要求客户机带有引导所需的所有信息。如果使用手动配置,必须在 network-boot-arguments 中提供 PROM 装载第二阶段引导程序所需的信息,而第二阶段引导程序所需的信息可以作为 boot 程序的参数进行指定,也可以通过 boot 程序的交互式命令解释程序进行指定。
使用手动配置时 PROM 所需的信息包括引导客户机的 IP 地址、引导文件的名称,以及提供引导文件映像的服务器的地址。根据网络配置,可能还需要指定要使用的缺省路由器的子网掩码和地址。
定制 OEM 标题(通过将 oem-banner? 设置为 true 启用)。缺省值为空字符串。
如果为 true,则使用定制 OEM 标题。缺省值为 false。
字节数组定制 OEM 徽标(通过将 oem-logo? 设置为 true 启用)。以十六进制形式显示。
如果为 true,则使用定制 OEM 徽标(否则,使用 Oracle 徽标)。缺省值为 false。
如果为 true,OpenBoot PROM 会将 64 位 PCI 内存地址分配至能够支持 64 位地址的 PCI 设备。
此变量仅在 SPARC 平台上可用,且是可选的。一些版本的 SunOS 不支持 PCI MEM64 地址,且如果 OpenBoot PROM 分配 PCI MEM64 地址,它们会以意外的方式出现故障。
缺省值取决于系统。如果变量存在,缺省值适用于随特定平台提供的 SunOS 的最低版本。
打开电源时所用的输出设备(通常为 screen、ttya 或 ttyb)。缺省值为 screen。
指定 true,以在 redmode 重置陷阱后重新引导。缺省值为 true。(仅限 Sun Enterprise 10000。)
指定 true,以在 redmode 重置陷阱后调用 OpenBoot PROM 的 sync 一词。缺省值为 false。(仅限 Sun Enterprise 10000。)
指定操作系统的根设备。
指定以何种顺序对哪些 SBus 插槽进行探测。缺省值为 0123。
屏幕列数(字符数/行)。缺省值为 80。
屏幕行数。缺省值为 34。
主机适配器的 SCSI 总线地址,范围为 0-7。缺省值为 7。
映射 SCSI 磁盘单元(仅限 OpenBoot PROM 版本 1.x)。缺省值为 31204567,这表示单元 0 映射至目标 3,单元 1 映射至目标 1,依此类推。
报告安全口令输入错误尝试次数。eeprom security-#badlogins=0 将重置该值。在基于 x86 的系统上,此属性没有任何特殊含义或行为。
固件安全级别(选项:none、command 和 full)。如果设置为 command 或 full,系统将提示您输入 PROM 安全口令。缺省值为 none。在基于 x86 的系统上,此属性没有任何特殊含义或行为。
固件安全口令(从不显示)。仅当 security-mode 设置为 command 或 full 时才可以设置此属性。在基于 x86 的系统上,此属性没有任何特殊含义或行为。
example# eeprom security-password= Changing PROM password: New password: Retype new password:
要测试的 RAM 兆字节数。如果 diag-switch? 为 true,则忽略此属性。缺省值为 1。
指定 true,以在软件启动重置 (software-initiated reset, SIR) 陷阱后调用 OpenBoot PROM 的 sync 一词。缺省值为 false。(仅限 Sun Enterprise 10000。)
如果为 true,POST 将不执行 VMEbus 回送测试。缺省值为 false。
映射 SCSI 磁带单元(仅限 OpenBoot PROM 版本 1.x)。缺省值为 45670123,这表示单元 0 映射至目标 4,单元 1 映射至目标 5,依此类推。
如果为 true,则显示 Restricted Monitor 提示符 ( >)。 缺省值为 false。
单字节临时字段,可用于读写测试。缺省值为 0。
对于内置双绞线以太网,启用 10baseT 链接测试。缺省值为 true。
TTYA(波特率、数据位数、奇偶校验、停止位数、握手)。缺省值为 9600、8、n、1、−。
按从左至右的顺序,这些字段为:
110、300、1200、4800、9600 . . .
5、6、7、8
n(none)、e(even)、o(odd)、m(mark)、s(space)
1、1.5、2
−(none)、h(hardware:rts/cts)、s(software:xon/xoff)
TTYB(波特率、数据位数、奇偶校验、停止位数、握手)。缺省值为 9600、8、n、1、−。
按从左至右的顺序,这些字段为:
110、300、1200、4800、9600 . . .
5、6、7、8
1、1.5、2
n(none)、e(even)、o(odd)、m(mark)、s(space)
−(none)、h(hardware:rts/cts)、s(software:xon/xoff)
如果为 true,操作系统忽略 TTYA 上的载体检测。缺省值为 true。
如果为 true,操作系统忽略 TTYB 上的载体检测。缺省值为 true。
如果为 true,操作系统不在 TTYA 上插入 DTR 和 RTS。缺省值为 false。
如果为 true,操作系统不在 TTYB 上插入 DTR 和 RTS。缺省值为 false。
如果为 true,则在系统启动时执行 NVRAMRC 中的命令。缺省值为 false。
控制 PROM 消息的详细级别。值可以是 debug、max、normal、min 或 none 之一。缺省值为 normal。
如果为 true,混合 (1.x/2.x) PROM 在版本 2.x 中显示。缺省值为 true。
如果为 true,则在监视程序重置后重新引导。缺省值为 false。
指定 true,以在监视程序重置陷阱后调用 OpenBoot PROM 的 sync 一词。缺省值为 false。(仅限 Sun Enterprise 10000。)
指定 true,以在 XIR 陷阱后调用 OpenBoot PROM 的 sync 一词。缺省值为 false。(仅限 Sun Enterprise 10000。)
以下示例演示了将系统测试的 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"
用于在 x86 计算机上存储 eeprom 值的文件。
设备文件
特定平台版本的 eeprom。使用 uname –i 获取 platform-name。
有关下列属性的说明,请参见 attributes(5):
|
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》