关于Solaris的OK模式

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 
diag-device net net 
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总线上的设备 

9、 init 0退到OK状态 
10、 键入:setenv auto-boot? false 
11、 键入:reset 
12、 此时系统重新启动后停留在OK状态 
13、 键入:probe-scsi-all 
14、 系统将列出所能查到的所有SCSI设备,看是否和实际数量一致 
15、 如果不一致,说明硬盘已损坏,需要更换 

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 
net /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恢复操作系统运行。不建议使用此功能。

1.1OK提示符
在进入Solaris操作系统或者系统启动之前,SUN操作系统有一个BOOT-PROM状态。进入这个状态的方法是同时按键盘上的stop+a,如果键盘上没有STOP这个功能键(PC键盘),可以使用Ctrl+break键进入。如果你进入了BOOT-PROM状态,在OK提示符下,而你的Solaris操作系统还在运行,你可以在ok提示符下使用go这个命令使系统继续运行。

1.2 在串口状态测试
BOOT-PROM
可以进入意味着计算机有一台显示器和键盘或者显示终端。如果系统启动了,而并没有键盘和显示器,那么输入输出将被默认为第一个串口(/dev/ttya,通常是叫A)。可以使用终端或者其他的计算机使用交叉串口来连接到这里。

1.3重启SUN的工作站
在重启之前,sun的工作站需要一个适当的方式,可以从以下的几个命令中选择一个:
# init 5 
关闭所有的进程,并且关闭计算机电源
# init 6 
关闭所有的进程,并且重新启动计算机
# init 0 
关闭所有的进程,并且使计算机回到OK状态
在这3个命令方式中,/etc/rc0.d目录下的K*的脚本将会被执行,使系统重新启动或者关机,重要的数据库也会被关闭,网络服务器也将会关闭所有的进程ID。如果以上的命令都没有反应,可以尝试使用以下的命令:
-stop+a
-sync
注意:系统的核心将会临时存储在/var/crash/;中。

你可能感兴趣的:(linux)