Solaris · Boot Phase

Solaris · Boot Mechanics

Solaris Boot Phase – Complete Deep Dive

Solaris booting starts from firmware (SP/BIOS), goes through GRUB bootloader, kernel initialization, and ends in SMF milestones. Understanding each phase is essential for troubleshooting boot issues and recovering broken systems.

Solaris Boot Phases Explained

From power-on until login prompt, Solaris passes through six well-defined phases. Each phase can fail independently and is useful for troubleshooting.

1. Firmware Phase

2. Boot Loader Phase (GRUB)

3. Kernel Phase

4. SMF Bootstrap Phase

5. SMF Milestones

6. Multi-User Mode

Important Boot Troubleshooting Commands

Check boot messages

Boot messages are stored in /var/adm/messages and dmesg output.

boot-phase
solaris-lab
[root@solaris ~]# dmesg | more
root@solaris # grep -i error /var/adm/messages

Check SMF service failures

Use svcs -xv to check which service is preventing boot.

boot-phase
solaris-lab
[root@solaris ~]# svcs -xv

List boot environments

Boot environments allow safe rollback during patching.

boot-phase
solaris-lab
[root@solaris ~]# beadm list

Boot to previous BE from GRUB

Useful if current BE is corrupted.

boot-phase
solaris-lab
{0} ok boot -L
{0} ok boot BE_name

Check current milestone

Milestones represent boot targets similar to run levels.

boot-phase
solaris-lab
[root@solaris ~]# svcs milestone/multi-user-server

How SMF (Service Management Facility) Controls Boot

SMF Boot Logic

  • SMF imports repository → starts core services
  • Services have dependencies defined in XML manifests
  • If one service fails, milestone cannot progress
  • Run levels map to SMF milestones:
  • S → milestone/single-user
  • 2 → milestone/multi-user
  • 3 → milestone/multi-user-server
smf-check
infounix@prod
# Debug SMF services
[root@solaris ~]# svcs -xv

Common Boot Problems

  • Corrupted boot archive
  • SMF service dependency failure
  • Failed kernel driver load
  • Filesystem corruption (ZFS issues)
  • Wrong BE activated
terminal — bash
infounix@prod
# Rebuild boot archive
[root@solaris ~]# bootadm update-archive -v

Knowing these phases makes Solaris boot troubleshooting far easier.