What is Mac OS X?

© Amit Singh. All Rights Reserved. Written in December 2003

Mac OS X System Startup

This page briefly describes the sequence of events that happen when Mac OS X boots.

Some details of the boot process from power-on until the kernel is up and running are covered in Booting Mac OS X and XNU: The Kernel. To recapitulate:

From here on, the startup becomes user-level:

During its execution, rc.boot and the other rc scripts source /etc/rc.common, a shell script containing utility functions, such as CheckForNetwork() (checks if the network is up), GetPID(), purgedir() (deletes directory contents only, not the structure), etc.

/etc/rc.netboot handles various aspects of network booting. For example, it performs network and (if any) local mounts. It also calls /usr/bin/nbst to associate a shadow file with the disk image being used as the root device. The idea is to redirect writes to the shadow file, which hopefully is on local storage.

By default, the loginwindow application (loginwindow.app under /System/Library/CoreServices) is executed for the console device. You can change this line in /etc/ttys if you do not want a graphical login.

<<< Above the Kernel main Mac OS X Filesystems >>>