[EdCert previous] [EdCert next] [EdCert top]

Boot-up sequence for Solaris (SunOS 5.x)

For Sun Sparc workstations from the SparcStation 1 to the SparcStation 20 the bootstrap process involves the execution of these software components:

What's displayed on the console?

When the Sun system is reset or first powered on, the screen blanks and a Sun logo is displayed along with some other information about the hardware on the console. At this point, the STOP-A key combination can be pressed to interact with the PROM code. A prompt of "ok" is offered.

If you do press STOP-A several low-level commands that list the hardware configuration of the machine are available. For example the SCSI bus(es) can be searched to verify new SCSI devices and and the automatic boot device can be set.

If you do not press STOP-A, then the system searches for the automatic boot device, reads and executes ufsboot which loads the kernel. The next prompt that is offered is the Console login.

What's happening?

After the machine is turned on, or after a reset, the system firmware (in PROM) executes power-on self test (POST). When these tests have completed successfully, the non-volatile storage (EEPROM) is checked to see if the autoboot flag is set. If it is, the name of the file to load, and the device to load is read and the boot procedure continues. If the autoboot flag is not set the system will offer the ok prompt.

These flags and names can be set using the eeprom(1M) command from the shell, or by using PROM commands from the ok prompt after the system has been halted.

The second level program is either ufsboot, (when booting from a hard disk drive) or inetboot (when a network boot is specified).

If booting from a disk, the PROM tries to read blocks 1 to 15 from of the disk that is specified by the EEPROM. (The /usr/sbin/installboot program is used to write the ufsboot code to this part of the drive.) Once the ufsboot code has been read in it is executed. The ufsboot program then accesses the root filesystem and reads in the kernel, /kernel/unix, from disk and executes it.

If booting is from the network, the PROM makes a reverse ARP (RARP) request to the network and awaits a reply from a boot server. The PROM will then make a TFTP request to the server that responded and copies inetboot code across the network and executes it. Inetboot also makes another reverse ARP request, then uses the bootparams protocol to locate its root filesystem. It then copies the kernel across the network using the NFS protocol and finally executes it.

System Initialization

Once the kernel is loaded, it starts the Unix system, mounts the necessary filesystems, and executes /sbin/init to bring the system to the "initdefault" state specified in /etc/inittab. This file usually has /etc/init create processes that allow users to log on to the system. It also controls autonomous processes required by any particular system.

The /etc/init daemon considers the system to be in a run level or initialization state at any given time. The processes created by init for each of these run levels is defined in the /etc/inittab file.



[EdCert previous] [EdCert next] [EdCert top]