- 论坛徽章:
- 0
|
5.3 系统的启动
Solaris 10的默认启动很简单,无论是在SPARC或在x86平台上,一直按“Enter”键就能把系统安全的启动起来。只是在SPARC平台上使用Boot PROM来引导系统硬件,初学者大可不必因为Boot PROM内容而感到Solaris很难。其实,大家就把这个Boot PROM当做PC中的BIOS就行了。
5.3.1 SPARC:使用Boot PROM
每一个SPARC系统都有一个可编程只读存储器(PROM)芯片,里面存储了一个称为monitor的程序。monitor程序在内核可用之前控制系统的操作。当你打开了一个系统,monitor程序运行一个快速的自检测过程来检查诸如系统中的硬件,以及内存等情况。如果monitor没有发现错误,系统就开始了自动引导过程。
引导过程包含了引导PROM、引导程序、内核初始化和系统初始化阶段。这些阶段在表5-3中进行了总结。
表5-3 SPARC引导过程的描述
引导阶段
描 述
引导PROM
PROM显示系统标识信息,然后运行自检测诊断程序来验证系统的硬件和内存。然后,PROM装载主引导程序bootblk,bootblk又从位于UFS文件系统中的默认引导设备装载辅助引导程序
引导程序
程序bootblk找到并执行ufsboot辅助引导程序,将其装载到内存。程序ufsboot被装载后,ufsboot装载内核
内核的初始化
内核自己进行初始化,并开始装载模块,使用ufsboot 来读取这些文件。当内核装载了足够的模块以挂载根文件系统时,内核终止ufsboot程序,并使用它自己的资源继续引导过程
系统初始化
内核创建了一个用户进程并启动/sbin/init 进程,后者通过读取/etc/inittab文件启动了其他的进程
1.OpenBoot接口
SPARC PROM中的OpenBoot固件不但初始化引导过程,而且还提供了一个命令行接口。OpenBoot提供了两种模式。在受限监视模式下,将显示提示符“>”,而且只提供了3条命令。这些命令使你可以引导操作系统(b specifiers),重新开始暂停程序(c)的执行,或者进Forth监视程序(n)。
Forth监视程序也称为新命令模式,是OpenBoot固件的默认模式。Forth监视程序显示ok提示符。此监视程序使你可以访问许多硬件和软件的诊断命令。任何可以访问系统控制台的用户都可以访问这些功能。为了访问受限监视程序,在PROM的ok提示符后输入old-mode并按Enter键。
为了显示一个系统的PROM发布,在PROM的ok提示符后,输入banner并按Enter键。硬件配置信息,包括PROM的发布号就被显示出来,如例5-6所示。
例5-6 显示系统综合信息。
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中查看系统的设备情况。这对于系统管理员来说是很必要的。
例5-7 查看系统安装的所有设备。
步骤如下:
(1)先将PROM中的自动引导参数设为“false”。
ok setenv auto-boot? false
auto-boot? = false
(2)清除所有的设备登记信息。
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设备(要检查所有SCSI设备请使用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)将自动引导参数设置为“true”。
ok setenv auto-boot? true
auto-boot? = true
(5)(可选的)可以用devalias命令来查看系统别名。
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中重新引导系统启动。
ok reset
已经对系统上装的设备有所了解,如果我们想要改变某些设备的使用,也可以在PROM中进行,如例5-8。
例5-8 设置系统默认从硬盘启动。
(1)先从多用户状态进入到“ok”状态。
# init 0
#
INIT: New run level: 0
…
The system is down.
syncing file systems... done
Program terminated
(2)设置启动设备为硬盘。
ok setenv boot-device disk
boot-device = disk
(3)检查启动设备的设置。
ok printenv boot-device
boot-device disk disk
(4)重新引导系统。
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 设置系统默认从网络启动。
(1)先从多用户状态进入到“ok”状态。
# init 0
#
INIT: New run level: 0
…
The system is down.
syncing file systems... done
Program terminated
(2)设置启动设备为网络。
ok setenv boot-device net
boot-device = net
(3)检查启动设备的设置。
ok printenv boot-device
boot-device net disk
(4)重新引导系统。
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平台上引导系统
在SPARC平台上引导系统有下面几种情况:
1.以多用户状态引导系统
要以多用户状态引导系统,可在PROM的ok提示符后,输入boot并按Enter键。自动引导过程将在默认的驱动器上启动,并显示一系列启动消息。系统以多用户状态被启动。
2.以单用户状态引导系统
要以单用户状态引导系统,可在PROM的ok提示符后,输入boot -s并按Enter键。系统引导到单用户状态并提示你输入root密码。
3.交互式引导
如果想要临时改变系统文件或者内核,你可能需要交互式引导。使用这样的方法,你可以测试你所做的修改,并在出现任何问题时很容易地进行恢复。
例5-10 Solaris交互式引导。
(1)在PROM的ok提示符后,输入boot-a并按Enter键。引导程序将交互地对你进行提示。
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键以使用默认的内核/kernel/unix,或者输入用来进行引导的内核的名字。
Enter filename [kernel/sparcv9/unix]:按Enter键
(3)按Enter键以使用默认的模块目录的路径或输入模块的默认路径,并按Enter键。
Enter default directory for modules [/platform/SUNW,Ultra-5_10/kernel
/platform/sun4u/kernel /kernel /usr/kernel]: 按Enter键
(4)按Enter键以使用默认的/etc/system文件或输入系统文件的名字,并按Enter键。
Name of system file [etc/system]: 按Enter键
(5)按Enter键以使用默认的根文件系统。输入ufs以进行本地硬盘引导,或者输入nfs引导无盘客户端。
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键以使用根设备的默认物理名字,或者输入设备的名字。
Enter physical name of root device
[/pci@1f,0/pci@1,1/ide@3/disk@0,0:a]: 按Enter键
(7)下面开始自动引导系统。
configuring IPv4 interfaces: hme0.
Hostname: starlite
The system is coming up. Please wait.
checking ufs filesystems
…
The system is ready.
starlite console login:
4.添加新硬件后引导系统
在添加新硬件后引导系统是一次重新配置引导过程。可以使用boot-r来重新配置引导。这样操作系统就会知道去寻找新的设备驱动程序并将其集成为引导过程的一部分。
(1)装载新的设备驱动程序,按照硬件中包括的指令进行操作。
(2)关闭系统并安装新硬件。
(3)输入boot-r并按Enter键。这将运行一个重新配置脚本以装载模块目录中列出的所有设备驱动程序,并创建相应的硬件节点。
你可以在启动之后来查看引导消息,最新的引导消息被存储在文件/var/adm/messages 中。要在引导完系统后查看这些信息,你只要输入more/var/adm/messages并按Enter键即可。命令/usr/sbin/dmesg已经过时,然而你仍然可以使用它来显示引导消息。
5.3.3 在x86平台上引导系统
在x86平台上启动时有两种启动方式:
按ESC键进入手动启动模式;
默认进入自动启动模式。
在进入手动启动模式后,我们可以看到菜单,如图5-1所示。
图5-1 启动顺序菜单
这是个启动顺序菜单,如果要改变系统的启动设备顺序,就将光标移动到<Enter setup>,然后按Enter键。读者若有疑问请查看系统的主板手册。
在默认自动启动的情况下,会出现下面的提示:
<<< 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
下面我们来详细说明这三项提示的内容。
(1)键入b和启动参数选项来启动系统。
和SPARC平台类似,我们举例说明。
交互式启动,使用命令b-a,具体请参见例5-10。
启动到单用户模式,使用命令b-s,类似于SPARC下的boot-s。
检测新设备,使用命令b-r,类似于SPARC下boot-r命令。
(2)键入i,启动交互选项。
键入i后进入系统,用户可以在这里改变引导选项和标志,探察设备和总线,运行诊断程序。在“>”状态下可以按<ctrl+d>组合键恢复到正常启动。
>
>help //查看帮助
>printenv //查看启动选项
auto-boot?='true'
auto-boot-cfg-num='-1'
auto-boot-timeout='5' //默认5秒不按b,i就直接进入系统
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属性
在交互模式下也可以更改这些属性,但对于新手来说,修改这些属性需要格外谨慎,因为改不好就会导致系统瘫痪。 |
|