System Administration Guide, Volume I
この本のみを検索
PDF 文書ファイルをダウンロードする

The Boot Process

10

This chapter describes the hardware used for booting on SPARC and x86 systems and a conceptual overview of the boot process on each platform.
This is a list of overview information in this chapter.
SPARC: The Boot PROMpage 178
SPARC: The Boot Processpage 179
SPARC: The Boot Process Detailspage 180
x86: The PC BIOSpage 181
x86: Boot Subsystemspage 181
x86: The Boot Processpage 184
x86: The Boot Process Detailspage 185
For instructions on booting a system, see Chapter 8, "Booting a SPARC System," or Chapter 9, "Booting an x86 System."

SPARC: The Boot PROM

Each SPARC system has a PROM (programmable read-only memory) chip with a program called the monitor. The monitor controls the operation of the system before the kernel is available. When a system is turned on, the monitor runs a quick self-test procedure that checks things such as the hardware and memory on the system. If no errors are found, the system begins the automatic boot process.

Note - Some older systems may require PROM upgrades before they will work with the Solaris system software. Contact your local service provider for more information.

SPARC: The Boot Process

Imported image(433x454)

SPARC: The Boot Process Details

Table 10-1 describes the SPARC boot process illustrated on the previous page.
Table 10-1
Boot PhaseDescription
Boot PROM1. The PROM displays system identification information and then runs self-test diagnostics to verify the system's hardware and memory.

2. Then the PROM loads the primary boot program, /usr/platform/'uname m'/lib/fs/ufs/bootblk, whose purpose is to load the secondary boot program located in the ufs file system from the default boot device.

Boot Programs3. The bootblk program finds and executes the secondary boot program, /platform/'uname -m' /ufsboot, and loads it into memory.

4. After /platform/'uname -m'/ufsboot program is loaded, the boot PROM loads the kernel.

Kernel Initialization5. The kernel initializes itself and begins loading modules, using ufsboot to read the files. When the kernel has loaded enough modules to mount the root file system, it unmaps the /ufsboot program and continues, using its own resources.
init6. The kernel creates a user process and starts the /sbin/init process, which starts other processes by reading the /etc/inittab file.

7. The /sbin/init process starts the run control (rc) scripts, which execute a series of other scripts. These scripts (sbin/rc*) check and mount file systems, start various processes, and perform system maintenance tasks.

x86: The PC BIOS

Before the kernel is started, the system is controlled by the read-only-memory (ROM) Basic Input/Output System (BIOS), the firmware interface on a PC.
Hardware adapters can have an onboard BIOS that displays the physical characteristics of the device and can be used to access the device.
During the startup sequence, the PC BIOS checks for the presence of any adapter BIOS and if found, loads and executes each one. Each individual adapter's BIOS runs self-test diagnostics and displays device information.

x86: Boot Subsystems

Booting an x86 system uses these subsystems:
  • Primary boot subsystem
  • Secondary boot subsystem
Additionally, booting from the network or a local CD-ROM drive uses this subsystem:
  • Solaris boot diskette
Table 10-2 describes the three boot interfaces that are used to boot all levels on an x86 system.
Table 10-2
Boot SubsystemThis Subsystem Menu Displays ...
Solaris Boot DisketteA list of bootable devices such as disk, network, or CD-ROM.
Primary Boot
Subsystem
A list of fdisk partitions to boot from if there is more than
one bootable fdisk partition.
Secondary Boot SubsystemA list of boot options. The system automatically boots to run level 3 if you don't select an option (after a five-second time out) from this menu. The other options enable you to specify boot options or enter the boot interpreter (see boot(1M)).
During the boot process, the boot subsystem menus display different device and booting options. If the system receives no response after several time-out periods, it continues to boot automatically using default selections. You can stop the boot process when the boot subsystem menus are displayed or let it continue automatically.
The following section provides examples of each subsystem screen. Screen displays will vary based on system configurations.

Solaris Boot Diskette

This diskette is also known as the multiple device boot (MDB) diskette.

Text Box(502x172)

During this phase, the system probes currently connected devices and displays the devices in the Multiple Device Boot menu.) The first device listed is the default boot device.

Primary Boot Subsystem

Text Box(502x179)

The active fdisk partition is automatically selected if you press Return or do not select an alternate slice from which to boot (after a 30-second time out).

Secondary Boot Subsystem

The second boot subsystem menu displays available boot options.

Text Box(502x163)

x86: The Boot Process

Imported image(433x454)

x86: The Boot Process Details

Table 10-3 describes the x86 boot process illustrated on the previous page.
Table 10-3
Boot PhaseDescription
BIOS1. When the system is turned on, the PC BIOS runs self-test diagnostics to verify the system's hardware and memory. The system begins to boot automatically if no errors are found. If errors are found, error messages are displayed describing recovery options. Additional hardware devices' BIOS are run at this time.

2. The BIOS boot program tries to read the first physical sector from the boot device--either a diskette or hard drive. This first disk sector on the boot device contains the master boot record /usr/platform/i86pc/lib/fs/ufs/mboot, which is loaded and executed. If no mboot file is found, an error message is displayed.

Boot Programs3. mboot, which contains disk information needed to find the active partition and the location of the Solaris boot program, /usr/platform/i86pc/lib/fs/ufs/pboot, loads and executes pboot.

4. pboot loads /usr/platform/i86pc/lib/fs/ufs/bootblk, the primary boot program, whose purpose is to load the secondary boot program located in the ufs file system.

5. If there is more than one bootable partition, bootblk reads the fdisk table to locate the default boot partition, and builds and displays a menu of available partitions. This step only occurs if there is more than one bootable partition present on the system.

6. bootblk finds and executes /platform/i86pc/ufsboot, the secondary boot program in the root file system.

7. ufsboot starts a command interpreter that executes the /etc/bootrc script, which provides a menu of choices for booting the system. The default action is to load and execute the kernel.

Kernel Initialization8. The kernel initializes itself and begins loading modules, using ufsboot to read the files. When the kernel has loaded enough modules to mount the root file system, it unmaps the /platform/i86pc/ufsboot program and continues, using its own resources.

9. The kernel creates a user process and starts the /sbin/init process, which starts other processes by reading the /etc/inittab file.

init10. The /sbin/init process starts the run control (rc) scripts, which execute a series of other scripts. These scripts (sbin/rc*) check and mount file systems, start various processes, and perform system maintenance tasks.