OpenBoot PROM介绍
所有Sun机器都一个用于基本硬件测试和初始化的固件,还有一个提供多种重要功能的用户程序。
基本元素
Sun系统的基本硬件元素包括:
Boot PROM芯片,它永久的固定在主板中。
非易失性随机访问内存(non-volatile random access memory (NVRAM) )芯片,包含主机的基本信息。
Boot PROM内容
boot PROM有以下功能:
加点自检(Power-on self-tests (POST))
系统重起始开始执行。
检测基本CPU板
因机器型号不同而不同。
设备驱动
有一些小型设备驱动程序,使得启动的初始化过程中可以与不同的外围设备相通讯
用户操作界面
NVRAM 内容
除了永久性存在地以太网地址、主机ID、时钟外,还保存着可以修改的系统的配置参数。
Basic Boot PROM Commands
ok banner
ok boot
ok help
ok printenv
ok setenv
ok set-defaults
ok probe-scsi
ok probe-scsi-all
ok probe-ide
ok reset
The Open Boot banner Command
The banner command lists several pieces of useful information about the system such as model, amount of memory, and hostid. You can also use the banner command to identify your system's PROM version number. Three boot PROM levels are discussed in this module.
ok banner
Sun UltraSPARC 60 UPA/PCI (2 X UltraSPARC-II 296MHz), Keyboard Present
OpenBoot 3.11, 256 MB memory installed, Serial #3159808.
Ethernet address 8:0:22:1a:e7:3f, Host ID: 72303700.
ok
boot 命令和参数
您可以在boot命令后键入一个或多个参数。这些参数传递改操作系统内核,将影响整个启动过程。
命令格式
ok boot [device_name] - [options]
参数
a 交互式启动系统。提示输入根设备和交换设备以及一些重要的系统文件
r 启动时系统将重新查找所有的设备,在/devices和/dev目录下重新生成文 件,更新/etc/path_to_inst文件。
s 系统启动后停留在S运行级别。可以用来系统错误排除。
v 详细地显示出系统的启动信息。有时可以用来系统的错误排除。
printenv 命令
printenv命令显示NVRAM的参数以及参数的缺省值。
查看缺省启动设备
您可以使用printenv显示缺省启动设备。
ok printenv
Parameter Name Value Default Value
tpe-link-test? True true
output-device ttya screen
input-device ttya keyboard
sbus-probe-list f0123 f0123
keyboard-click? False false
diag-file
boot-file
boot-device disk disk
auto-boot? true true
More [ , ,q] ? q
您可以在系统的输出中查看缺省启动设备,参数是boot-device。您也可以输入printenv boot-device,这样只显示启动设备的值。
重新定义PROM Boot值
使用setenv命令可以重新定义PROM的值 。下面的例子中把auto-boot? 变为 false,然后reset命令使系统重新启动,使变化生效。
ok printenv auto-boot?
auto-boot?true true
ok
ok setenv auto-boot? false
auto-boot? = false
ok reset
重置缺省值
使用set-defaults 命令将所有的参数重新设置为缺省的值。
ok set-defaults
______________________________________________________________________
注意 –set-defaults命令只对有缺省值的参数生效。
______________________________________________________________________
影响系统启动和自检的按键有:
stop
如果在系统加电自检时按下Stop键,就取消POST(加电自检)诊断,然后停留在OK状态。
Stop+d
在系统自检时同时按下stop和d键,系统将自动转到诊断模式,诊断模式下系统将更完全地进行自检。
Stop+n
如果由于NVRAM的设置不正确而导致系统无法正确启动时,可以在系统加电自检时同时按下stop和n键。它的作用是将NVRAM的参数值设为默认值。
Stop+a
同时按下stop和a键将中断操作系统的运行,退到OK状态。
警告:尽量不要在操作系统运行时按stop+a,这将导致操作系统停止并且导致数据的丢失。在万不得以的时候,在按下stop+a后,键入sync命令用以将内存的数据同步到硬盘中。
探测系统总线
将外围设备(如光驱、硬盘)与主板连接在一起的I/O总线有SCSI(small computer system interface)总线和IDE (integrated drive electronics)总线。
在OpenBoot 3.x系统中使用probe-命令
在OpenBoot 3.x的系统中,使用probe-命令时,您会看到一个警告。如果您在操作系统运行状态下,用stop-a将系统强行暂停,或使用halt退出操作系统。这样的状态下使用probe-命令会造成机器挂起。因此,您必须先运行reset-all命令。
请先设置auto-boot?为false后再运行reset-all,系统将重新自检,停留在OK状态下,然后可以运行这个命令。
显示连接在SCSI总线上的设备
probe-scsi命令将鉴别连接在SCSI控制器上的设备。
ok probe-scsi
Target 3
Unit 0 Disk SEAGATE ST1480 SUN0424626600190016
Copyright (c)
All Rights Reserved
Target 6
Unit 0 Removable Read Only device SONY CD-ROM
ok probe-scsi-all
显示连接在PCI总线上的IDE设备
ok probe-ide
Device 0 ( Primary Master )
ATA Model : ST 34342A
Device 1 ( Primary Slave )
Not Present
Device 2 ( Secondary Master )
removable ATAPI Model : CDR-8240B
Device 3 ( Secondary Slave )
Removable ATAPI Model yyyyyyyyyyyyyyy
可以使用devalias命令查看设备别名的物理地址,这样就可以知道启动设备的物理设备了。
ok devalias
screen /SUNW,ffb@1e,0
mydisk /pci@1f,0/pci@1,1/ide@3/disk@0,0
/pci@1f,0/pci@1,1/network@1,1
cdrom /pci@1f,0/pci@1,1/ide@3/cdrom@2,0:f
disk /pci@1f,0/pci@1,1/ide@3/disk@0,0
disk3 /pci@1f,0/pci@1,1/ide@3/disk@3,0
disk2 /pci@1f,0/pci@1,1/ide@3/disk@2,0
disk1 /pci@1f,0/pci@1,1/ide@3/disk@1,0
disk0 /pci@1f,0/pci@1,1/ide@3/disk@0,0
ide /pci@1f,0/pci@1,1/ide@3
floppy /pci@1f,0/pci@1,1/ebus@1/fdthree
ttyb /pci@1f,0/pci@1,1/ebus@1/se:a
ttya /pci@1f,0/pci@1,1/ebus@1/se:b
keyboard! /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
keyboard /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
mouse /pci@1f,0/pci@1,1/ebus@1/su@14,3062f8
设备别名在左列。设备物理地址在右列。
如果操作系统挂起了(没有响应),并且您也不能远程登录,那您没有别的选择了,只有强行中断操作系统。
中断挂起的系统
如果系统挂起了,可以尝试下列步骤:
1.用Stop-a中断操作系统。如果成功,系统会停留在PROM状态。如果是使用字符终端作为系统控制台,则按Break键。
2. 用sync命令将内存的内容同步到磁盘,减少数据的丢失。结束后系统会自动重起。
在ok提示符下键入sync命令。
ok sync
注意 – 您也可以用Stop-a强行中断操作系统,然后键入go恢复操作系统运行。不建议使用此功能。