Once Boot ROM is finished and an OS X partition has been selected, control passes to the boot loader.The principal job of this boot loader is to load the kernel environment.As it does this, the boot loader draws the “booting” image on the screen.
(This UI is drawn by In order to speed up boot time, the boot loader uses several caches.
The contents and location of these caches varies between versions of OS X, but knowing some details about the caching may be helpful when debugging kernel extensions.
After you install or modify a kernel extension, touch the In OS X v10.7, the boot loader looks for the unified prelinked kernel.
This cache contains all kernel extensions that may be needed to boot a Mac with any hardware configuration, with the extensions already linked against the kernel. In OS X v10.6 and earlier, the boot loader first looks for the prelinked kernel (also called the kernel cache).
When the power to a Macintosh computer is turned on, the Boot ROM firmware is activated.
Boot ROM (which is part of the computer’s hardware) has two primary responsibilities: it initializes system hardware and it selects an operating system to run.
Boot ROM has two components to help it carry out these functions: If multiple installations of OS X are available, Boot ROM chooses the one that was last selected by the Startup Disk System Preference.
The user can override this choice by holding down the Option key while the computer boots, which causes EFI to display a screen for choosing the boot volume.
This cache contains exactly the set of kernel extensions that were needed during the previous system startup, already linked against the kernel.
If the prelinked kernel is missing or unusable (for example, because a hardware configuration has changed), the booter looks for the mkext cache, which contains all kernel extensions that may be needed to boot the system.
Using the mkext cache is much slower because the linker must be run.