SA239第8章读书笔记

发表于:2007-06-08来源:作者:点击数: 标签:
介绍一些boot PROM下运行的命令,在X86下不能运行,郁闷. 基本内容 介绍PROM的基础知识 使用基本的启动PROM命令 介绍系统启动设备 创建,移除自定义的设备别名 查看和改变NVRAM参数 中断没有任何反应的系统 所有的SUN系统都有常驻的boot PROM 固件,提供启动之前

介绍一些boot PROM下运行的命令,在X86下不能运行,郁闷.

基本内容
介绍PROM的基础知识
使用基本的启动PROM命令
介绍系统启动设备
创建,移除自定义的设备别名
查看和改变NVRAM参数
中断没有任何反应的系统
所有的SUN系统都有常驻的boot PROM 固件,提供启动之前的基本硬件测试和初始化.
boot PROM 还支持从不同的设备启动,此外,还具有一个提供许多重要功能的用户接口
sun boot PROM可以访问一个标准的普通设备驱动程序集,系统使用这些驱动程序访问
并控制总线和启动设备,以正常启动.
IEEE OpenBoot架构标准的目的是用于提供如下功能:
测试并初始化系统硬件
判定系统的硬件配置
启动操作系统环境
为配置、测试与调试提供交互式的接口
支持使用第三方的设备
boot PROM 的主要功能是测试系统硬件, 启动操作系统环境. boot PROM 固件被称为
monitor程序.运行如下命令查看系统上运行的OpenBoot PROM版本:
# /usr/platform/'uname -m'/sbin/prtdiag -v
NVRAM包含可编辑区及不可编辑区,不可编辑区包括如下内容:
以太网mac地址,如8:0:20:5d:6f:9e
系统host ID值,如805d6f9e
可编辑区包括如下内容:
time-of-day(TOD)时钟值
描述系统运行参数的配置数据
一个诊断模式开关,启用或禁用加电自检(POST)
默认启动设备的设备名与路径
启动过程中使用的定制程序位置
注意:注意保持NVRAM芯片,因为它包含host ID.很多需要license的软件包都是基于系统
的host ID的.NVRAM芯片上有一个黄色的标签,上面有一个条形码.如果芯片失效,Sun 可
以根据该条形码提供替换芯片.替换芯片有与原芯片相同的host ID与以太网MAC地址.可
以将替换芯片插入系统上原来芯片所在的位置进行替换.
POST
系统加电时,会执行一个低级的POST.低级POST的代码被存储在Boot PROM中, 它被用于
检测系统硬件的最基本的功能.
成功完成低级POST阶段以后,Boot PROM固件接管控制并执行如下的初始化过程:
探测内存,然后探测CPU
探测总线设备,解析其驱动程序,并建立设备树
安装终端
Stop键盘位于键盘的左侧.将Stop键与其它键一同按下,启用不同的调试模式.Stop 组合
键影响OpenBoot PROM,定义系统加电时POST如何运行.下面是Stop键的组合:
Stop-D 系统加电时按下Stop键和D键,固件自动切换到诊断模式
Stop-N组合键 系统加电时同时按下Stop键和N键,将NVRAM参数设为默认值
Stop-A组合键 按下Stop键与A键会立即中断任何当前正在运行的程序,并回到OpenBoot
PROM的命令行模式下
注意:Stop-A组合键,是到ok提示符下的方法之一,但不推荐,除非别无选择.Stop-A键
可能会导致Solaris OE文件系统崩溃,这将很难修复
编辑/etc/default/kbd文件禁用abort组合键.将语句KEYBOARD_ABORT =disable取消注
释.将该行前的注释符号删除,保存文件,并执行命令kbd -i
*使用基本的Boot PROM命令
banner 显示加电banner
boot 启动系统
help 显示主要的帮助目录
words 显示字典中的FORTH单词
sifting text 显示FORTH命令中包含text的命令
printenv 显示所有参数的当前值与默认值
setenv 将指定的NVRAM参数设为指定值
reset-all 重设整个系统
set-defaults 将所有的参数值设为出厂设置
probe-ide 检测IDE总线上的所有设备
probe-scsi 检测SCSI总线上的设备
probe-scsi-all  检测所有SCSI总线上的设备
probe-fcal-all  检测所有光纤通道环上的设备
.version 显示Boot PROM的日期与版本
probe-pci 检测指定PCI总线上的所有设备
probe-pci-slot 检测指定PCI总线上指定PCI插槽上的设备
test 在指定设备上运行自检
..net-addr 显示以太网地址
.idprom 显示ID PROM内容
.speed  显示CPU与系统上的总线的速度
.registers 显示寄存器内容
查看系统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 boot device_name - options
在ok提示符下输入boot命令将系统自动启动到多用户状态:
ok boot
下面的列表是boot命令的参数项:
·-s 将系统启动到单用户状态,并要求用户提供root口令
ok boot -s
ok boot cdrom -s
·-a 交互式启动系统.如果需要执行替代文件(即不使用下面例子中的某个既定文件来
加载系统,而是自己手工指定)
Enter filename [kernel/sparcv9/unix]:
Enter default directory for modules [/platform/SUNW,Ultra-5_10/kernel
/platform/sun4u/kernel /kernel /usr/kernel]:
Name of system file [etc/system]:
root file system type [ufs]:
Enter physical name of root device:
·-r 执行重配置启动.使用此选项查找新安装的设备,并在/devices和/dev目录中添加
新的设备条目.也将更新/etc/path_to_inst文件.
ok boot -r
·-v 启动系统, 输出更详细的设备信息到控制台.使用此选项在启动过程中排错.可以
与其它选项一起使用:
ok boot -v
ok boot -rv
ok boot -sv
可以使用printenv命令列出所有的NVRAM参数.如果参数被修改过,printenv命令会显示
其默认值与当前设置值.
可以使用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
最常用的probe命令是probe-scsi,probe-scsi-all和probe-ide命令
可以使用show-devs命令查看整个设备树
使用devalias命令为系统标识当前的根设备别名
使用nvunalias命令删除设备别名.使用如下命令格式:
ok nvunalias aliasname
注意:nvalias命令是一个例外,更新被立即写到NVRAM上,不需要使用reset-all命令
*中止不响应的系统
当系统死锁或停止对键盘响应时,你可能需要中断它.中断系统时, 所有的活动进程
立即停止,处理器只为OpenBoot PROM服务.不允许刷新内存或同步文件系统.
中止未响应的系统
有如下的几种方法尝试:
1,尝试从远程登录到未响应的系统上,找出并杀死造成系统停止响应的进程
2,尝试重启未响应的系统.
3,按下不响应系统的键盘上的Stop-A组合键,系统被置于ok提示符下.
注意:如果使用ASCII终端作为系统控制台,使用Break键.
4,使用OpenBoot PROM下的sync命令手工同步文件系统:
ok sync
此命令使所有的文件系统同步,并将内存作一个crash dump,然后重启系统

原文转自:http://www.ltesting.net