Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5725871
  • 博文数量: 745
  • 博客积分: 10075
  • 博客等级: 上将
  • 技术积分: 7716
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-29 12:09
文章分类

全部博文(745)

文章存档

2019年(1)

2016年(1)

2010年(31)

2009年(88)

2008年(129)

2007年(155)

2006年(197)

2005年(143)

分类:

2005-05-09 11:06:05

介绍一些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 在指定设备上运行自检
.enet-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,然后重启系统

阅读(2321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~