- 論壇徽章:
- 0
|
5.3 系統(tǒng)的啟動
Solaris 10的默認(rèn)啟動很簡單,無論是在SPARC或在x86平臺上,一直按“Enter”鍵就能把系統(tǒng)安全的啟動起來。只是在SPARC平臺上使用Boot PROM來引導(dǎo)系統(tǒng)硬件,初學(xué)者大可不必因?yàn)锽oot PROM內(nèi)容而感到Solaris很難。其實(shí),大家就把這個Boot PROM當(dāng)做PC中的BIOS就行了。
5.3.1 SPARC:使用Boot PROM
每一個SPARC系統(tǒng)都有一個可編程只讀存儲器(PROM)芯片,里面存儲了一個稱為monitor的程序。monitor程序在內(nèi)核可用之前控制系統(tǒng)的操作。當(dāng)你打開了一個系統(tǒng),monitor程序運(yùn)行一個快速的自檢測過程來檢查諸如系統(tǒng)中的硬件,以及內(nèi)存等情況。如果monitor沒有發(fā)現(xiàn)錯誤,系統(tǒng)就開始了自動引導(dǎo)過程。
引導(dǎo)過程包含了引導(dǎo)PROM、引導(dǎo)程序、內(nèi)核初始化和系統(tǒng)初始化階段。這些階段在表5-3中進(jìn)行了總結(jié)。
表5-3 SPARC引導(dǎo)過程的描述
引導(dǎo)階段
描 述
引導(dǎo)PROM
PROM顯示系統(tǒng)標(biāo)識信息,然后運(yùn)行自檢測診斷程序來驗(yàn)證系統(tǒng)的硬件和內(nèi)存。然后,PROM裝載主引導(dǎo)程序bootblk,bootblk又從位于UFS文件系統(tǒng)中的默認(rèn)引導(dǎo)設(shè)備裝載輔助引導(dǎo)程序
引導(dǎo)程序
程序bootblk找到并執(zhí)行ufsboot輔助引導(dǎo)程序,將其裝載到內(nèi)存。程序ufsboot被裝載后,ufsboot裝載內(nèi)核
內(nèi)核的初始化
內(nèi)核自己進(jìn)行初始化,并開始裝載模塊,使用ufsboot 來讀取這些文件。當(dāng)內(nèi)核裝載了足夠的模塊以掛載根文件系統(tǒng)時,內(nèi)核終止ufsboot程序,并使用它自己的資源繼續(xù)引導(dǎo)過程
系統(tǒng)初始化
內(nèi)核創(chuàng)建了一個用戶進(jìn)程并啟動/sbin/init 進(jìn)程,后者通過讀取/etc/inittab文件啟動了其他的進(jìn)程
1.OpenBoot接口
SPARC PROM中的OpenBoot固件不但初始化引導(dǎo)過程,而且還提供了一個命令行接口。OpenBoot提供了兩種模式。在受限監(jiān)視模式下,將顯示提示符“>”,而且只提供了3條命令。這些命令使你可以引導(dǎo)操作系統(tǒng)(b specifiers),重新開始暫停程序(c)的執(zhí)行,或者進(jìn)Forth監(jiān)視程序(n)。
Forth監(jiān)視程序也稱為新命令模式,是OpenBoot固件的默認(rèn)模式。Forth監(jiān)視程序顯示ok提示符。此監(jiān)視程序使你可以訪問許多硬件和軟件的診斷命令。任何可以訪問系統(tǒng)控制臺的用戶都可以訪問這些功能。為了訪問受限監(jiān)視程序,在PROM的ok提示符后輸入old-mode并按Enter鍵。
為了顯示一個系統(tǒng)的PROM發(fā)布,在PROM的ok提示符后,輸入banner并按Enter鍵。硬件配置信息,包括PROM的發(fā)布號就被顯示出來,如例5-6所示。
例5-6 顯示系統(tǒng)綜合信息。
ok banner
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #number.
Ethernet address number, Host ID: number.
Hardware configuration information, including the revision number of the PROM,
is displayed. In this example, the PROM revision number is 3.15.
我們還可以在PROM中查看系統(tǒng)的設(shè)備情況。這對于系統(tǒng)管理員來說是很必要的。
例5-7 查看系統(tǒng)安裝的所有設(shè)備。
步驟如下:
(1)先將PROM中的自動引導(dǎo)參數(shù)設(shè)為“false”。
ok setenv auto-boot? false
auto-boot? = false
(2)清除所有的設(shè)備登記信息。
ok reset-all
Resetting ...
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #10933339.
Ethernet address 8:0:20:a6:d4:5b, Host ID: 80a6d45b.
(3)檢查所有IDE設(shè)備(要檢查所有SCSI設(shè)備請使用probe-scsi命令)。
ok probe-ide
Device 0 (Primary Master)
ATA Model: ST34321A
Device 1 (Primary Slave)
Not Present
Device 2 (Secondary Master)
Removable ATAPI Model: CRD-8322B
Device 3 (Secondary Slave)
Not Present
(4)將自動引導(dǎo)參數(shù)設(shè)置為“true”。
ok setenv auto-boot? true
auto-boot? = true
(5)(可選的)可以用devalias命令來查看系統(tǒng)別名。
ok devalias
screen /pci@1f,0/pci@1,1/SUNW,m64B@2
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:b
ttya /pci@1f,0/pci@1,1/ebus@1/se:a
keyboard! /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8:forcemode
keyboard /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
mouse /pci@1f,0/pci@1,1/ebus@1/su@14,3062f8
name aliases
(6)在PROM中重新引導(dǎo)系統(tǒng)啟動。
ok reset
已經(jīng)對系統(tǒng)上裝的設(shè)備有所了解,如果我們想要改變某些設(shè)備的使用,也可以在PROM中進(jìn)行,如例5-8。
例5-8 設(shè)置系統(tǒng)默認(rèn)從硬盤啟動。
(1)先從多用戶狀態(tài)進(jìn)入到“ok”狀態(tài)。
# init 0
#
INIT: New run level: 0
…
The system is down.
syncing file systems... done
Program terminated
(2)設(shè)置啟動設(shè)備為硬盤。
ok setenv boot-device disk
boot-device = disk
(3)檢查啟動設(shè)備的設(shè)置。
ok printenv boot-device
boot-device disk disk
(4)重新引導(dǎo)系統(tǒng)。
ok reset
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #number.
Ethernet address number, Host ID: number.
Boot device: disk File and args:
SunOS Release 5.10 Version 64-bit
…
pluto console login:
例5-9 設(shè)置系統(tǒng)默認(rèn)從網(wǎng)絡(luò)啟動。
(1)先從多用戶狀態(tài)進(jìn)入到“ok”狀態(tài)。
# init 0
#
INIT: New run level: 0
…
The system is down.
syncing file systems... done
Program terminated
(2)設(shè)置啟動設(shè)備為網(wǎng)絡(luò)。
ok setenv boot-device net
boot-device = net
(3)檢查啟動設(shè)備的設(shè)置。
ok printenv boot-device
boot-device net disk
(4)重新引導(dǎo)系統(tǒng)。
ok reset
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #number.
Ethernet address number, Host ID: number.
Boot device: net File and args:
…
pluto console login:
5.3.2 在SPARC平臺上引導(dǎo)系統(tǒng)
在SPARC平臺上引導(dǎo)系統(tǒng)有下面幾種情況:
1.以多用戶狀態(tài)引導(dǎo)系統(tǒng)
要以多用戶狀態(tài)引導(dǎo)系統(tǒng),可在PROM的ok提示符后,輸入boot并按Enter鍵。自動引導(dǎo)過程將在默認(rèn)的驅(qū)動器上啟動,并顯示一系列啟動消息。系統(tǒng)以多用戶狀態(tài)被啟動。
2.以單用戶狀態(tài)引導(dǎo)系統(tǒng)
要以單用戶狀態(tài)引導(dǎo)系統(tǒng),可在PROM的ok提示符后,輸入boot -s并按Enter鍵。系統(tǒng)引導(dǎo)到單用戶狀態(tài)并提示你輸入root密碼。
3.交互式引導(dǎo)
如果想要臨時改變系統(tǒng)文件或者內(nèi)核,你可能需要交互式引導(dǎo)。使用這樣的方法,你可以測試你所做的修改,并在出現(xiàn)任何問題時很容易地進(jìn)行恢復(fù)。
例5-10 Solaris交互式引導(dǎo)。
(1)在PROM的ok提示符后,輸入boot-a并按Enter鍵。引導(dǎo)程序?qū)⒔换サ貙δ氵M(jìn)行提示。
ok boot -a
…
Rebooting with command: boot -a
Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0:a
File and args: -a
(2)按Enter鍵以使用默認(rèn)的內(nèi)核/kernel/unix,或者輸入用來進(jìn)行引導(dǎo)的內(nèi)核的名字。
Enter filename [kernel/sparcv9/unix]:按Enter鍵
(3)按Enter鍵以使用默認(rèn)的模塊目錄的路徑或輸入模塊的默認(rèn)路徑,并按Enter鍵。
Enter default directory for modules [/platform/SUNW,Ultra-5_10/kernel
/platform/sun4u/kernel /kernel /usr/kernel]: 按Enter鍵
(4)按Enter鍵以使用默認(rèn)的/etc/system文件或輸入系統(tǒng)文件的名字,并按Enter鍵。
Name of system file [etc/system]: 按Enter鍵
(5)按Enter鍵以使用默認(rèn)的根文件系統(tǒng)。輸入ufs以進(jìn)行本地硬盤引導(dǎo),或者輸入nfs引導(dǎo)無盤客戶端。
SunOS Release 5.10 Version S10_60 64-bit
Copyright (c) 1983-2004 by Sun Microsystems, Inc. All rights reserved
Use is subject to license terms.
root filesystem type [ufs]: 按Enter鍵
(6)按Enter鍵以使用根設(shè)備的默認(rèn)物理名字,或者輸入設(shè)備的名字。
Enter physical name of root device
[/pci@1f,0/pci@1,1/ide@3/disk@0,0:a]: 按Enter鍵
(7)下面開始自動引導(dǎo)系統(tǒng)。
configuring IPv4 interfaces: hme0.
Hostname: starlite
The system is coming up. Please wait.
checking ufs filesystems
…
The system is ready.
starlite console login:
4.添加新硬件后引導(dǎo)系統(tǒng)
在添加新硬件后引導(dǎo)系統(tǒng)是一次重新配置引導(dǎo)過程?梢允褂胋oot-r來重新配置引導(dǎo)。這樣操作系統(tǒng)就會知道去尋找新的設(shè)備驅(qū)動程序并將其集成為引導(dǎo)過程的一部分。
(1)裝載新的設(shè)備驅(qū)動程序,按照硬件中包括的指令進(jìn)行操作。
(2)關(guān)閉系統(tǒng)并安裝新硬件。
(3)輸入boot-r并按Enter鍵。這將運(yùn)行一個重新配置腳本以裝載模塊目錄中列出的所有設(shè)備驅(qū)動程序,并創(chuàng)建相應(yīng)的硬件節(jié)點(diǎn)。
你可以在啟動之后來查看引導(dǎo)消息,最新的引導(dǎo)消息被存儲在文件/var/adm/messages 中。要在引導(dǎo)完系統(tǒng)后查看這些信息,你只要輸入more/var/adm/messages并按Enter鍵即可。命令/usr/sbin/dmesg已經(jīng)過時,然而你仍然可以使用它來顯示引導(dǎo)消息。
5.3.3 在x86平臺上引導(dǎo)系統(tǒng)
在x86平臺上啟動時有兩種啟動方式:
按ESC鍵進(jìn)入手動啟動模式;
默認(rèn)進(jìn)入自動啟動模式。
在進(jìn)入手動啟動模式后,我們可以看到菜單,如圖5-1所示。
![]()
圖5-1 啟動順序菜單
這是個啟動順序菜單,如果要改變系統(tǒng)的啟動設(shè)備順序,就將光標(biāo)移動到<Enter setup>,然后按Enter鍵。讀者若有疑問請查看系統(tǒng)的主板手冊。
在默認(rèn)自動啟動的情況下,會出現(xiàn)下面的提示:
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:
Type b [file-name] [boot-flags] <ENTER> to boot with options
or i <ENTER> to enter boot interpreter
or <ENTER> to boot with defaults
下面我們來詳細(xì)說明這三項(xiàng)提示的內(nèi)容。
(1)鍵入b和啟動參數(shù)選項(xiàng)來啟動系統(tǒng)。
和SPARC平臺類似,我們舉例說明。
交互式啟動,使用命令b-a,具體請參見例5-10。
啟動到單用戶模式,使用命令b-s,類似于SPARC下的boot-s。
檢測新設(shè)備,使用命令b-r,類似于SPARC下boot-r命令。
(2)鍵入i,啟動交互選項(xiàng)。
鍵入i后進(jìn)入系統(tǒng),用戶可以在這里改變引導(dǎo)選項(xiàng)和標(biāo)志,探察設(shè)備和總線,運(yùn)行診斷程序。在“>”狀態(tài)下可以按<ctrl+d>組合鍵恢復(fù)到正常啟動。
>
>help //查看幫助
>printenv //查看啟動選項(xiàng)
auto-boot?='true'
auto-boot-cfg-num='-1'
auto-boot-timeout='5' //默認(rèn)5秒不按b,i就直接進(jìn)入系統(tǒng)
boottimeout='0'
bshfirst='false'
output-device='screen'
input-device='keyboard'
boot-file='kernel/unix'
target-driver-for-scsi='sd'
target-driver-for-direct='cmdk'
target-driver-for-csa='cmdk'
target-driver-for-dsa='cmdk'
target-driver-for-smartii='cmdk'
pciide='true'
prealloc-chunk-size='0x2000'
ata-dma-enabled='0'
kbd-type=US-English(104-Key)
kbd-wkeys='true'
probed-arch-name='i86pc'
probed-compatible='i86pc'
bootpath=/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
>show-devs //顯示所有device nodes
>.properties //顯示所有active node屬性
在交互模式下也可以更改這些屬性,但對于新手來說,修改這些屬性需要格外謹(jǐn)慎,因?yàn)楦牟缓镁蜁䦟?dǎo)致系統(tǒng)癱瘓。 |
|