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.
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.
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.