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總線上的設備
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恢復操作系統運行。不建議使用此功能。