ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SA239翻译第八章执行PROM命令

SA239翻译第八章执行PROM命令

原创 Linux操作系统 作者:shilei1 时间:2011-12-19 07:52:38 0 删除 编辑
SA239翻译第八章执行PROM命令 
  
  完成本部分的学习后,管理员可以执行如下任务:
  ·了解boot PROM(programmable read-only memory)的基础知识
  ·使用基本的boot PROM命令
  ·标识系统启动设备
  ·创建删除定制的设备别名
  ·在shell中查看与更改NVRAM(novolatile random access memory)
  ·中止未响应的系统
  第一节 boot PROM基础介绍
  所有的Sun系统都有常驻的boot PROM固件,提供启动之前的基本硬件测试与初始化。boot PROM还支持从不同的设备启动。此外,还具有一个提供许多重要功能的用户接口。
  Sun boot PROM可访问一个标准的普通设备驱动程序集。系统使用这些驱动程序访问并控制总线和启动设备,以正常启动。
  所有版本的Openboot结构都支持第三方的板卡标识板卡自身,并装载其内建的设备驱动程序。在系统启动过程中硬件配置阶段,OpenBoot PROM请求每个设备声明自己的类型,并装载其内建的驱动程序。
  图8-2显示了标识过程。
  图8-2 第三方设备标识过程
  OpenBoot体系结构标准的目的
  IEEE OpenBoot架构标准的目的是用于提供如下功能:
  ·测试并初始化系统硬件
  ·判定系统的硬件配置
  ·启动操作系统环境
  ·为配置、测试与调试提供交互式的接口
  ·支持使用第三方的设备
  Boot PROM
  每个Sun系统都有一个boot PROM芯片。容量1M的芯片通常与CPU位于同一块板上。Boot PROM芯片在老式的系统上常位于一个可插拔的接口上。对于3.x版本的PROM,该芯片被固化在主系统板上。
  Ultra工作站使用可重编程的Boot PROM,称为闪存PROM(FPROM)。FPROM支持使用软件将新的启动程序数据加载入PROM中,而不是用更换芯片的方式进行功能升级。这些升级程序以CDROM方式发行。
  桌面系统中有一个写保护跳线,在写PROM之前必须更改跳线。跳线默认的位置是写保护。参考Refer to the Flash Programming Manual for Ultra Desktop Systems手册, part number 802-3233-17,查看系统的路线位置。
  注意:很多系统的跳线位于安装的帧缓冲区或其它可移动的卡下方。在移除更换这些卡时要小心。
  Boot PROM的主要功能是测试系统硬件,启动操作系统环境。Boot PROM固件被称为monitor程序。
  Boot PROM固件在操作系统启动、内核可用之前控制了系统的运行。Boot PROM还给用户提供了用户接口与固件工具命令,也称为FORTH命令集。命令包括启动命令,诊断命令,及修改默认配置的命令。
  注意:Boot PROM不能识别Solaris Operating environment(Solaris OE)文件系统或文件。它主要负责处理硬件设备
  Sun Boot PROM发展已经经历了5代,每一代都有其基本的版本号,如下列表:
  版本 描述
  1.x SPARC系统上的第一代Boot PROM
  2.x 第一代的OpenBoot PROM
  3.x 使用flash更新特性的OpenBoot PROM。可以不用更换Boot PROM芯片而更新3.x固件。这一代被用于Sun UltraSPARC产品线
  4.x 支持64位UltraSPARC III 处理器的OpenBoot PROM
  5.x 用于Sun Enterprise 3500,4500,5500及6500服务器
  运行如下命令查看系统上运行的OpenBoot PROM版本:
  # /usr/platform/‘uname -m‘/sbin/prtdiag -v
  NVRAM
  每个Sun系统中另一个重要的硬件设施是NVRAM芯片。该可移除的芯片通常位于主系统板上。
  NVRAM模块包含EEPROM (electronically erasable programmable read-only memory)。EEPROM存储了用户在默认的Boot PROM参数设置集中更改的启动参数。这种机制让用户可以在特定环境下配置系统以特定的方式运行,具有一定程度的灵活性。NVRAM模块内部有一块锂电池,为NVRAM和时钟供电。
  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地址。可以将替换芯片插入系统上原来芯片所在的位置进行替换。
  图8-3显示了Boot PROM与NVRAM的基本组件。
  图8-3 PROM的基本结构
  POST
  系统加电时,会执行一个低级的POST。低级POST的代码被存储在Boot PROM中,
  它被用于检测系统硬件的最基本的功能。
  成功完成低级POST阶段以后,Boot PROM固件接管控制并执行如下的初始化过程:
  ·探测内存,然后探测CPU
  ·探测总线设备,解析其驱动程序,并建立设备树
  ·安装终端
  在Boot PROM初始化系统之后,Boot PROM与NVRAM中存储的系统检测参数决定是否和如何启动操作系统环境。
  控制POST阶段
  POST运行的第一个检测是检测是否有键盘连接到系统及是否按下了Stop键选项。
  注意:可以使用Sun键盘控制POST阶段。
  Stop键盘位于键盘的左侧。将Stop键与其它键一同按下,启用不同的调试模式。Stop组合键影响OpenBoot PROM,定义系统加电时POST如何运行。下面是Stop键的组合:
  ·Stop-D 系统加电时按下Stop键和D键,固件自动切换到诊断模式。此模式将在系统硬件上运行extensive(广泛的)POST诊断。OpenBoot PROM变量diag-switch?被设置为true。
  图8-4显示了diag-switch?变量的作用
  图8-4 加电测试
  注意:Stop-D组合在串口终端上不可用
  ·Stop-N组合键 系统加电时同时按下Stop键和N键,将NVRAM参数设为默认值。当键盘上的LED灯开始闪烁时,可以放开键,然后系统就继续启动。
  不正确的NVRAM设置可能会让系统启动失败。例如,在闪存PROM下载时,如这时掉电,NVRAM的一些内容可能就会不可用。
  如果系统不能启动,怀疑是因为NVRAM参数未正确设置,参数可以被很容易地改变为默认值。
  ·Stop-A组合键 按下Stop键与A键会立即中断任何当前正在运行的程序,并回到OpenBoot PROM的命令行模式下。系统显示ok提示符,表示接受输入OpenBoot PROM命令。
  注意:Stop-A组合键,是到ok提示符下的方法之一,但不推荐,除非别无选择。Stop-A键可能会导致Solaris OE文件系统崩溃,这将很难修复。
  禁用Abort组合键
  系统管理员可能会想禁用abort组合键(即Stop-A),以防止可能的文件系统崩溃,使系统更安全(防止别人使用Stop –A 组合键进入PROM提示符)。
  编辑/etc/default/kbd文件禁用abort组合键。将语句KEYBOARD_ABORT =disable取消注释。将该行前的注释符号删除,保存文件,并执行命令kbd -i。完成操作后,系统将只允许在启动过程中使用Stop-A组合键。
  也可将系统配置更改,把abort组合键改为其它替代的组合。查看kbd命令的man手册,获取更多信息。
  输出POST到串口
  系统管理员可以使用串行线连接到系统的串口上,获取POST输出的更多信息。
  当系统加电时,POST查找键盘,如果系统中没有键盘,POST会将系统输出转向串行口A。
  POST在当系统的PROM参数diag-switch?设置为true时,会以诊断模式运行,执行更多的检测。
  确保使用正确类型的null modem电缆连接到串口A上。
  一些系统需要特殊的适配电缆。将电缆的另一头连接到ASCII终端的modem端口上,如图8-5所示。
  下面的例子是一台Sun Blade 1000工作站的POST输出:
  Partial Post Output Listing
  @(#) 4.0 Version 29 created 2000/07/12 16:46
  Clearing TLBs Done
  Reset: 0000.0000.0000.0010 SPOR
  Loading Configuration
  Membase: 0000.0000.0000.0000
  MemSize: 0000.0000.2000.0000
  Init CPU arrays Done
  Init E$ tags Done
  Setup TLB Done
  MMUs ON
  Block Scrubbing Done
  Copy Done
  PC = 0000.07ff.f000.3138
  Decompressing Done
  Size = 0000.0000.0006.e3b0
  ttya initialized
  Start Reason: Soft Reset
  System Reset: (SPOR)
  Probing gptwo at 0,0 SUNW,UltraSPARC-III (750 MHz @ 5:1, 8 MB)
  memory-controller
  Probing gptwo at 1,0 Nothing there
  Probing gptwo at 8,0 pci pci upa ppm
  Loading Support Packages: kbd-translator
  Loading onboard drivers: ebus flashprom bbc ppm i2c dimm-fru dimm-fru
  dimm-fru dimm-fru dimm-fru dimm-fru dimm-fru dimm-fru nvram idprom
  i2c cpu-fru temperature fan-control card-reader motherboard-fru
  Memory Configuration:
  Segment @ Base: 0 Size: 512 MB (2-Way)
  Probing /upa@8,480000 Device 0,0 Nothing there
  Probing /upa@8,480000 Device 1,0 Nothing there
  Probing /pci@8,600000 Device 4 SUNW,qlc fp disk
  Probing /pci@8,600000 Device 1 Nothing there
  Probing /pci@8,700000 Device 5 network firewire usb
  dev-descrip
  next-add
  node made
  Probing /pci@8,700000 Device 6 scsi disk tape scsi disk tape
  Probing /pci@8,700000 Device 1 Nothing there
  Probing /pci@8,700000 Device 2 Nothing there
  (UltraSPARC-III) , Keyboard Present
  OpenBoot 4.0, 512 MB memory installed, Serial #12134217.
  Ethernet address 8:0:20:b9:27:49, Host ID: 80b92749.
  第二节 使用基本的Boot PROM命令
  Boot PROM提供用户接口,输入OpenBoot命令。
  注意:ok提示符指示Solaris OE当前未运行。
  表8-1列出了常用的ok提示符命令:
  表8-1 ok提示符下的常用命令:
  命令 描述
  banner 显示加电banner
  boot 启动系统
  help 显示主要的帮助目录
  words 显示字典中的FORTH单词
  sifting text 显示FORTH命令中包含text的命令
  printenv 显示所有参数的当前值与默认值
  setenv 将指定的NVRAM参数设为指定值
  reset-all 重设整个系统,类似于power cycle(加电循环?重启)
  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提示符下启动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]:
  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
  查询更多细节信息
  可以使用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)
  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
  ttyb-mode 9600,8,n,1,- 9600,8,n,1,-
  ttya-mode 9600,8,n,1,- 9600,8,n,1,-
  pcia-probe-list 1,2,3,4 1,2,3,4
  pcib-probe-list 1,2,3 1,2,3
  mfg-mode off off
  diag-level max max
  #power-cycles 273
  output-device screen screen
  input-device keyboard keyboard
  boot-command boot boot
  auto-boot? true true
  diag-device net net
  boot-device disk net disk net
  local-mac-address? false false
  screen-#columns 80 80
  screen-#rows 34 34
  use-nvramrc? false false
  nvramrc devalias pgx24 /pci1f,0 ...
  security-mode none
  security-password
  security-#badlogins 0
  diag-switch? false false
  ok
  可使用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参数重新设置为其默认值。它只影响那些曾经被赋予默认值的参数(即有的参数是没有默认值的)。
  ok set-defaults
  Setting NVRAM parameters to default values.
  ok
  以set-default命令后面跟参数名,将该指定参数设定为其默认值。
  ok set-default parameter-name
  如,执行如下命令将diag-level参数重设:
  ok set-default diag-level
  要恢复默认的NVRAM参数值,可以在加电启动系统时,按住Stop-N组合键。
  当键盘上的LED灯开始闪烁时,放开组合键,系统继续启动。
  显示连接到总线上的设备
  使用probe命令查看当前连接到系统的外设,如硬盘,磁带驱动器或CDROM。
  要查看系统上可用的不同的probe命令,使用sifting命令。sifting命令在你不知道确切的OpenBoot PROM命令语法,而需要使用时特别有用。
  例如,要查找可用的probe命令,执行如下命令:
  ok sifting probe
  (f006c954) probe-all (f006c5a0) probe-all (f006c378) probe-ide
  (f006c1e8) probe-pci-slot (f006bc8c) probe-scsi
  (f006bd78) probe-scsi-all (f0060fe8) probe-pci
  (下略)
  最常用的probe命令是probe-scsi,probe-scsi-all和probe-ide命令。
  包含FC-AL(Fibre Channel-Arbitrated Loop ) 和 GBICs(Gigabit Interface Converters)的系统使用probe-fcal-all命令。
  注意:如果在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
  1: 0 0 0 0
  2: 0 0 0 0
  3: 0 0 0 0
  4: 0 0 0 0
  (output edited for brevity)
  %PC 0 %nPC 0
  %TBA 0 %CCR 0 XCC:nzvc ICC:nzvc
  前面的输出显示所有的寄存器均为空,值为0。如果寄存器的值非为0,那很有可能probe命令让系统挂起。
  probe-scsi命令
  probe-scsi命令标识连接到板载SCSI控制器上的所有外围设备。probe-scsi命令使用其目标地址标识如硬盘,磁带驱动器或CDROM等外围设备。
  ok probe-scsi
  Target 1
  Unit 0 Disk FUJITSU MAB3045S SUN4.2G17059825M62990
  Target 3
  Unit 0 Disk IBM DDRS34560SUN4.2GS98E99255C5917
  (C) Copyright IBM Corp.
  1997. All rights reserved.
  Target 6
  Unit 0 Removable Read Only device SONY CDROM
  probe-scsi-all命令
  probe-scsi-all命令标识所有连接到系统板上的SCSI控制器或分离的SBus或PCI SCSI控制器上的外围设备。
  ok probe-scsi-all
  /pci@1f0/pci@1/pci@1/SUNWisptwo@4
  Target 3
  Unit 0 Disk FUJITSU MAB3045S SUN4.2G1907
  Target 4
  Unit 0 Removable Tape EXABYTE EXB-8505SMBANSH20090
  probe-ide命令
  probe-ide命令标识连接到板载IDE控制器上的硬盘或CDROM。此命令显示内部设备的设备号:
  ok probe-ide
  Device 0 ( Primary Master )
  ATA Model : ST 38420A (DISK)
  Device 1 ( Primary Slave )
  Not Present
  Device 2 ( Secondary Master )
  Removable ATAPI Model : CRD-8322B (CD-ROM)
  Device 3 ( Secondary Slave )
  Not Present
  probe-fcal-all命令
  probe-fcal-all OpenBoot PROM命令标识系统上所有包含FC-AL GBIC的外围设备。Sun Enterprise 3500即是这类系统的一个例子:
  ok probe-fcal-all
  probe-fcal-all命令在Sun Blade 1000工作站上不可用。在Sun Blade 1000工作站上标识板载或外置FC-AL驱动器,使用probe-scsi-all命令。
  ok probe-scsi-all
  /pci@8,600000/SUNW,qlc@4
  LiD HA --- Port WWN --- ---- Disk description ----
  10 10 2100002037651b0e SEAGATE ST318304FSUN18G 022D0017L007G2
  12 12 2100002037651c12 SEAGATE ST318304FSUN18G 022D0017L007VJ
  1 1 2100002037653317 SEAGATE ST318304FSUN18G 032D0020L009TT
  13 13 2100002037651f72 SEAGATE ST318304FSUN18G 022D0017L007JZ
  11 11 2100002037651f76 SEAGATE ST318304FSUN18G 022D0017L007AL
  14 14 2100002037651bf5 SEAGATE ST318304FSUN18G 022D0017L007XS
  第三节 标识系统的启动设备
  Sun硬件使用设备树的概念组织连接到系统中的设备。
  图8-6显示了Ultra 5或Ultra 10工作站上的设备树的组织结构。
  注意:图8-6中的目录采取了简化,以方便显示。
  OpenBoot固件采集POST的信息建立设备树。设备树被装载到内存中,在启动时被kernel使用,以标识所有配置好的设备。
  设备树的顶端是根设备节点。根设备节点下面是一个总线连接节点。连接到总线连接节点的是一个叶节点,一般是安装的设备的控制器。
  图8-6 Ultra 5或Ultra 10工作站上的设备树(部分)
  图8-6中,设备disk@0,0是IDE设备代表硬盘驱动器。cdrom@2,0设备代表CDROM 驱动器。它们都连接到IDE控制器ide@3上。同样,sd@3,0设备是SCSI硬盘设备,ST@4,0是SCSI磁带机设备。它们都连接到PCI卡的SCSI控制器SUNW,isptwo@4上。
  OpenBoot固件建立的设备树路径,随着系统的类型及其设备控制而变。
  图8-7显示了Ultra工作站上一个PCI总线的硬盘设备路径。
  图8-7 Ultra工作站上PCI IDE总线中的硬盘设备路径
  图8-8显示了Ultra工作站上PCI-SCSI总线上面的硬盘的设备路径。
  图8-8 Ultra工作站上PCI-SCSI总线上的硬盘设备路径
  show-devs命令
  可以使用show-devs命令查看整个设备树。
  下面的例子了show-dev命令的输出:
  ok show-devs
  /SUNW,UltraSPARC-IIi@0,0
  /pci@1f,0
  /virtual-memory
  /memory@0,10000000
  /pci@1f0/pci@1
  /pci@1f0/pci@1,1
  /pci@1f0/pci@11/ide@3
  /pci@1f0/pci@1,1/SUNW,m64B@2
  /pci@1f0/pci@11/network@1,1
  /pci@1f0/pci@11/ebus@1
  /pci@1f0/pci@11/ide@3/cdrom
  /pci@1f0/pci@11/ide@3/disk
  /pci@1f0/pci@11/ebus@1/SUNWCS4231@14,200000
  /pci@1f0/pci@11/ebus@1/flashprom@10,0
  /pci@1f0/pci@11/ebus@1/eeprom@14,0
  /pci@1f0/pci@1/pci@1
  /pci@1f0/pci@1/pci@1/SUNWisptwo@4
  (output truncated)
  ok
  注意:除了使用show-devs命令显示整个设备树之外,还可以使用如下的OpenBoot PROM命令查看指定设备的信息:show-ttys, show-displays, show-nets, show-disks, 与show-tapes。
  devalias命令
  使用devalias命令为系统标识当前的根设备别名。
  下面的例子显示了devalias命令的输出:
  ok devalias
  screen /pci@1f0/pci@1,1/SUNW,m64B@2
  net /pci@1f0/pci@11/network@1,1
  cdrom /pci@1f0/pci@11/ide@3/cdrom@2,0:f
  disk /pci@1f0/pci@11/ide@3/disk@0,0
  disk3 /pci@1f0/pci@11/ide@3/disk@3,0
  disk2 /pci@1f0/pci@11/ide@3/disk@2,0
  disk1 /pci@1f0/pci@11/ide@3/disk@1,0
  disk0 /pci@1f0/pci@11/ide@3/disk@0,0
  ide /pci@1f0/pci@11/ide@3
  floppy /pci@1f0/pci@11/ebus@1/fdthree
  ttyb /pci@1f0/pci@11/ebus@1/se:b
  ttya /pci@1f0/pci@11/ebus@1/se:a
  keyboard! /pci@1f0/pci@11/ebus@1/su@14,3083f8:forcemode
  keyboard /pci@1f0/pci@11/ebus@1/su@14,3083f8
  mouse /pci@1f0/pci@11/ebus@1/su@14,3062f8
  name aliases
  左边是设备别名的输出列表,右边是每个设备的物理地址输出列表。
  设备别名被硬编码写入OpenBoot PROM固件中去的,比物理设备地址更好记忆与使用。disk设备别名标识了系统的默认启动设备。
  NVRAM中的boot-device参数设定系统的启动设备。默认情况下,boot-device参数设定为disk net。可以在ok提示符下使用命令查看系统的启动设备。
  要从默认设备启动,执行boot命令:
  ok boot
  第四节 创建与删除定制设备别名
  NVRAM中有一部分称为NVRAMRC,里面存放了定制的参数的值,也预留用于存储新设备别名的空间。默认的,外部设备没有与之关联的设备别名。
  NVRAMRC受nvalias与nvunalias命令的影响,也受参数usr-nvramrc?的影响。
  nvalias命令
  使用nvalias命令创建新的设备别名,以访问新添加的外部设备。命令格式如下:
  nvalias aliasname device_path
  nvalias命令的作用是将如下的命令行存储到NVRAMRC中:
  devalias aliasname device_path
  下面的例子显示如何添加新的启动设备别名,称为mydisk,并从新的启动设备别名启动系统。
  注意:可以使用如下的快捷方式,运行show-disks命令,然后选择一个设备,然后使用Control-Y键将设备路径拷贝到命令行上。
  例子使用show-disks命令为使用的硬盘选择设备路径。然后使用nvalias命令创建一个新的设备别名mydisk。
  ok show-disks
  a) /pci@1f0/pci@1/scsi@1,1/disk
  b) /pci@1f0/pci@1/scsi@1/disk
  c) /pci@1f0/pci@11/ide@3/cdrom
  d) /pci@1f0/pci@11/ide@3/disk
  e) /pci@1f0/pci@11/ebus@1/fdthree@14,3023f0
  q) NO SELECTION
  Enter Selection, q to quit: d
  /pci@1f0/pci@11/ide@3/disk has been selected.
  Type ^Y (Control-Y) to insert it in the command line.
  e.g. ok nvalias mydev ^Y
  for creating devalias mydev for
  /pci@1f0/pci@11/ide@3/disk
  ok nvalias mydisk ^y
  在命令行上按下Control-Y键将选定的硬盘的设备路径粘贴到命令行上。
  ok nvalias mydisk /pci@1f0/pci@11/ide@3/disk@0,0
  注意:当设备路径被粘贴到命令行(使用Control-Y键)上时,目标号与逻辑单元号(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
  ok reset-all
  Resetting ...
  第五节 从shell中查看并更改NVRAM参数
  Solaris OE运行时,使用/usr/sbin/eeprom命令查看并更改NVRAM参数。
  使用eeprom命令
  使用eeprom命令时有如下几条需要注意:
  ·只有root用户可以更改参数的值
  ·当命令在C shell中执行时,必须以单引号括住参数???
  ·所有的更新都是永久的,不需要使用reset命令来撤消参数更改。
  下面的例子使用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,然后重启系统
 
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/196700/viewspace-713562/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 239笔记
请登录后发表评论 登录
全部评论

注册时间:2018-10-10

  • 博文量
    534
  • 访问量
    8254