本文档主要探讨了Solaris操作系统在SUN硬件平台上的基本安全特性,特别是基于OpenBoot的系统启动过程和管理。OpenBoot是SUN SPARC系列计算机的固件环境,用于引导操作系统启动,它在单系统板系统(如SPARCstation 4、5、10、20)和多系统板系统(如Ultra 1、2、5等)中都起着关键作用。
1. **OpenBoot操作**:
- OpenBoot经历了几个版本的演进:1.x是原始的SPARC启动PROM,2.x是第一个OpenBootPROM,3.x引入了可下载固件的OBP。
- 启动过程包括POST(Power-On Self Test)、通用驱动加载、用户界面、默认设置等步骤。在PROM状态,用户可以使用一系列命令,如查看硬件设备(show-devs)、设置环境变量(setenv)、配置SCSI设备(probe-scsi)以及执行重置(reset)等。
2. **PROM状态下的命令**:
- boot命令用于指定设备和启动选项,例如`boot disk2 -r`(从硬盘2以安全模式启动)。
- Printenv和Devalias用于显示和管理环境变量。
- EEPROM命令用于操作可编程只读存储器(EEPROM),如设置默认的boot device和自动开机参数。
3. **系统启动流程**:
- Solaris系统从OpenBoot的PROM阶段开始,进行自我测试和诊断,然后加载bootblock程序,接着是ufsboot的启动程序,最后加载内核。
- 内核初始化后,会启动init进程,执行runcontrol脚本,这些脚本负责系统的初始化和配置。
4. **硬件实现**:
- 单系统板系统(如SPARCstation 4/5/10/20)和多系统板系统(如Ultra 1/2/5/10/30/60/250/450)展示了不同的硬件架构,但OpenBoot作为统一的引导机制,确保了跨平台的兼容性。
5. **设备树与设备路径**:
- 文档提到的DeviceTree是一种用于描述硬件组件之间关系的数据结构,对理解硬件配置和管理至关重要。设备路径则提供了设备在系统中的逻辑位置信息。
这篇文章深入剖析了Solaris操作系统在硬件启动时如何通过OpenBoot确保安全性和兼容性,涵盖了从底层硬件到操作系统启动过程的全面知识。这对于了解和维护Solaris系统,尤其是在早期SPARC架构上,具有很高的实用价值。