probe-fcal-all 检测所有光纤通道环上的设备 showdevs 显示完整的设备树
devalias 标示系统当前启动设备的别名。 Nvalias 创建新的设备别名。 Nvunalias 删除设备别名。
Show-disks 显示和允许使用nvalias的磁盘的设备路径。 Sync 手工尝试刷新内存和同步文件系统。 Test在指定设备上运行自检 查看系统Boot PROM版本
banner命令列出很有帮助的系统信息,如模块名,Boot PROM版本号,内存量,以太网地址,及host ID。
下面是banner命令的输出例子: ok banner
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 360MHz), Keyboard Present OpenBoot 3.31, 128 MB (50 ns) memory installed, Serial #11888271. Ethernet address 8:0:20:b5:66:8f, Host ID: 80b5668f.
启动系统
使用boot命令从ok提示符下启动Solaris OE。此命令有几个可用选项,用于将系统启动到不同的状态。
boot命令的格式如下:
ok boot device_name - options
在ok提示符下输入boot命令将系统自动启动到多用户状态: ok boot
下面的列表是boot命令的参数项:
?-s 将系统启动到单用户状态,并要求用户提供root口令 ok boot -s
ok boot cdrom -s
?-a 交互式启动系统。如果需要执行替代文件(即不使用下面例子中的某个既定文件来加载系统,而是自己手工指定),使用此选项。boot程序向用户请求如下信息: ok boot -a
Enter filename [kernel/sparcv9/unix]: (等等,以下信息就不详细输出了)
?-r 执行重配置启动。使用此选项查找新安装的设备,并在/devices和/dev目录中添加新的设备条目。也将更新/etc/path_to_inst文件。 ok boot -r
?-v 启动系统,输出更详细的设备信息到控制台。使用此选项在启动过程中排错。可以与其它选项一起使用: ok boot -v ok boot -rv ok boot -sv
查询更多细节信息
可以使用help命令获取OpenBoot固件的主要目录。下面是Ultra 5工作站上help输出的例子,它使用的是3.31版本的OpenBoot PROM: ok help
Enter ?help command-name? or ?help category-name? for more help (Use ONLY the first word of a category description) Examples: help system -or- help nvramrc Categories:
boot (Load and execute a program)
nvramrc (Store user defined commands)
system configuration variables (NVRAM variables) command line editing editor (nvramrc editor)
21
resume execution
devaliases (Device aliases) diag (Diagnostics commands)
ioredirect (I/O redirection commands) misc (Miscellaneous commands) ok
help命令的输出列表提供了许多可以用来查看更多细节的关键字。 如,要查看上例中主要类别的特定信息,执行下面命令之一: ok help boot ok help nvramrc ok help diag ok help misc
列出NVRAM参数
可以使用printenv命令列出所有的NVRAM参数。如果参数被修改过,printenv命令会显示其默认值与当前设置值,例: ok printenv
Variable Name Value Default Value tpe-link-test? True true scsi-initiator-id 7 7 keyboard-click? False false keymap
ttyb-rts-dtr-off false false ttyb-ignore-cd true true ttya-rts-dtr-off false false ttya-ignore-cd true true (等等,以下信息就不详细的列出了)
可使用printenv命令显示单个参数及其值。 例如,执行如下命令显示boot-device参数值: ok printenv boot-device boot-device = disk net
boot-device可能的值包括disk,net和cdrom。
注意:一些OpenBoot PROM参数,如auto-boot?,以问号结束。如果OpenBoot PROM参数以问号结束,其参数值通常是true或false。
更改NVRAM参数
可以使用setenv命令更改当前指定给NVRAM参数的值。如果auto-boot?参数设定为true,系统自动启动。如果为false,系统会停止在ok提示下。
下面的例子更改了auto-boot?参数的值,从默认设置true改为false。 ok printenv auto-boot? auto-boot? = true ok
ok setenv auto-boot? false auto-boot? = false
reset-all命令将系统挂起,清除所有的缓冲区与寄存器,并在系统上执行一个软件模拟的power-off/power-on操作。 ok reset-all Resetting ... 注意:,在PROM3.x及更高版本上,如果要执行probe或其它测试命令,必须以reset-all命令清除系统寄存器。
恢复默认的NVRAM参数值
使用set-defaults命令将所有的NVRAM参数重新设置为其默认值。它只影响那些曾经被赋予默认值的参数(即有的参数是没有默认值的)。
22
ok set-defaults
Setting NVRAM parameters to default values. ok
以set-default命令后面跟参数名,将该指定参数设定为其默认值。 ok set-default parameter-name
如,执行如下命令将diag-level参数重设: ok set-default diag-level
显示连接到总线上的设备
使用probe命令查看当前连接到系统的外设,如硬盘,磁带驱动器或CDROM。
要查看系统上可用的不同的probe命令,使用sifting命令。sifting命令在你不知道确切的OpenBoot PROM命令语法,而需要使用时特别有用。 例如,要查找可用的probe命令,执行如下命令: ok sifting probe
(f006c954) probe-all (f006c5a0) probe-all (f006c37 probe-ide (等等,以下信息就不详细的列出了)
最常用的probe命令是probe-scsi,probe-scsi-all和probe-ide命令。
注意:如果在Sun系统上的Boot PROM版本是3.x或更高,运行probe命令时可能会出现如下的警告消息:
This command may hang the system if a Stop-A or halt command has been executed. Please type reset-all to reset the system before executing this command. Do you wish to continue? (y/n) n 执行如下命令以防止系统被挂起: ok setenv auto-boot? false ok reset-all
判定系统在执行probe命令时是否挂起的一个方法是使用.registers命令: ok .registers
Normal Alternate MMU Vector 0: 0 0 0 0 (等等,以下信息就不详细的列出了)
前面的输出显示所有的寄存器均为空,值为0。如果寄存器的值非为0,那很有可能probe命令让系统挂起。
probe-scsi命令
probe-scsi命令标识连接到板载SCSI控制器上的所有外围设备。probe-scsi命令使用其目标地址标识如硬盘,磁带驱动器或CDROM等外围设备。 ok probe-scsi Target 1
Unit 0 Disk FUJITSU MAB3045S SUN4.2G17059825M62990 (等等,以下信息就不详细的列出了)
probe-scsi-all命令标识所有连接到系统板上的SCSI控制器或分离的SBus或PCI SCSI控制器上的外围设备。 ok probe-scsi-all
/pci@1f,0/pci@1/pci@1/SUNW,isptwo@4 (等等,以下信息就不详细的列出了)
probe-ide命令
probe-ide命令标识连接到板载IDE控制器上的硬盘或CDROM。此命令显示内部设备的设备号:
ok probe-ide
Device 0 ( Primary Master ) ATA Model : ST 38420A (DISK) (等等,以下信息就不详细的列出了)
23
标识系统的启动设备
Sun硬件使用设备树的概念组织连接到系统中的设备
show-devs命令
可以使用show-devs命令查看整个设备树。 下面的例子了show-dev命令的输出: ok show-devs
/SUNW,UltraSPARC-IIi@0,0
(等等,以下信息就不详细的列出了)
注意:除了使用show-devs命令显示整个设备树之外,还可以使用如下的OpenBoot PROM命令查看指定设备的信息:show-ttys, show-displays, show-nets, show-disks, 与show-tapes。
devalias命令
使用devalias命令为系统标识当前的根设备别名。 下面的例子显示了devalias命令的输出: ok devalias
screen /pci@1f,0/pci@1,1/SUNW,m64B@2 (等等,以下信息就不详细的列出了)
左边是设备别名的输出列表,右边是每个设备的物理地址输出列表。
设备别名被预先写入OpenBoot PROM固件中去的,比物理设备地址更好记忆与使用。disk设备别名标识了系统的默认启动设备。
NVRAM中的boot-device参数设定系统的启动设备。默认情况下,boot-device参数设定为disk net。可以在ok提示符下使用命令查看系统的启动设备。 要从默认设备启动,执行boot命令: ok boot
创建与删除定制设备别名
NVRAM中有一部分称为NVRAMRC,里面存放了定制的参数的值,也预留用于存储新设备别名的空间。默认的,外部设备没有与之关联的设备别名。
NVRAMRC受nvalias与nvunalias命令的影响,也受参数usr-nvramrc?的影响。
使用nvalias命令创建新的设备别名,以访问新添加的外部设备。命令格式如下: nvalias aliasname device_path
nvalias命令的作用是将如下的命令行存储到NVRAMRC中: devalias aliasname device_path
ok nvalias mydisk /pci@1f,0/pci@1,1/ide@3/disk@0,0
注意:当设备路径被粘贴到命令行上时,目标号与逻辑单元号(LUN logical unit number)需要添加,如sd@0,0或disk@0,0。
设定boot-device参数为新值,本例中是mydisk,然后启动系统。 ok setenv boot-device mydisk boot-device = mydisk ok boot
nvunalias命令
使用nvunalias命令删除设备别名。使用如下命令格式: ok nvunalias aliasname
注意:nvalias命令是一个例外,更新被立即写到NVRAM上,不需要使用reset-all命令。 例子中,使用nvunalias命令从NVRAMRC中删除别名mydisk,并使用setenv命令将boot-device参数设定为disk。 ok nvunalias mydisk
ok setenv boot-device disk boot-device = disk
24
ok reset-all Resetting ...
在操作系统中查看并更改NVRAM参数
Solaris OS运行时,使用/usr/sbin/eeprom命令查看并更改NVRAM参数。 #eeprom
?执行如下命令列出单个参数及其值,这里参数是boot-device。 # eeprom boot-device boot-device=disk
要更改当前的默认启动设备为disk2,执行如下命令: # eeprom boot-device=disk2
?要更改auto-boot?参数的值,执行如下命令: # eeprom auto-boot?=true
中止不响应的系统
当系统死锁或停止对键盘响应时,你可能需要中断它。中断系统时,所有的活动进程立即停止,处理器只为OpenBoot PROM服务。不允许刷新内存或同步文件系统。
中止未响应的系统
有如下的几种方法尝试:
1、尝试从远程登录到未响应的系统上,找出并杀死造成系统停止响应的进程 2、尝试重启未响应的系统。
3、按下不响应系统的键盘上的Stop-A组合键,系统被置于ok提示符下。 注意:如果使用ASCII终端作为系统控制台,使用Break键。 4、使用OpenBoot PROM下的sync命令手工同步文件系统: ok sync
此命令使所有的文件系统同步,并将内存作一个crash dump,然后重启系统。
第九章 执行启动和关闭进程 目标要求:
SMF(service management facility)功能的描述 确定基本的运行级别
比较运行级别和SMF里程碑 确定启动进程的阶段 使用SMF管理命令 控制启动程序 执行系统关闭
SMF为管理系统服务和服务与服务之间的交互提供一个中心配置结构。SMF包括一下内容: 依靠服务之间的关系形成建立和形式化的机制 启动,停止和重新启动服务
为启动信息和服务状态形成一个中心存储器。 为系统服务的故障管理建立机制。
关于服务配置的详细信息比如解释服务为什么不能运行 为每个服务建立一个log文件。
SMF服务
一个服务能够被描述为一个能够在本地和远端提供资源或者是包含应用能力和其他服务的实体。一个服务并不一定是一个运行的进程比如web server。一个服务也可以是一个设备的软件配置状态,比如:网络设备的配置或者mount 的文件系统。一个系统中可以有一个或者多个服务同时运行。比如:一个系统可以配置多个网络接口,可以mount多个文件系统。
服务标示
在SMF中为任何一个服务实例提供一个参考名,被称为:服务标示。这种服务标示的格式是FMRI
25