| BootX | |
|---|---|
| Developer | Apple Inc. |
| Initial release | March 24, 2001 (withMac OS X 10.0) |
| Operating system | Darwin &Mac OS X[3] |
| Platform | PowerPC[4] |
| Type | Boot loader |
| License | Apple Public Source License[5] |
BootX is asoftware-basedbootloader designed and developed byApple Inc. for use on the company'sMacintosh (now Mac) computer range. BootX is used to prepare the computer for use, by loading all requireddevice drivers and then starting-upMac OS X by booting thekernel on allPowerPC Macs runningMac OS X.[6]
TheIntel-based Macs introduced in 2006 have aUnified Extensible Firmware Interface (UEFI)ROM, and use a UEFI-based bootloader namedboot.efi rather than BootX.[4]
The program is freely available as part of theDarwinoperating system under theopen-sourceApple Public Source License.[5]

Older Macintoshes dating from 1983 until 1998 utilize a basicbootloader. Those Macintoshes include a ROMchip varying in sizes up to 4 megabytes (MB),[7] which contains both thecomputer code to boot the computer and theMacintosh Toolbox operating system code.

In 1998, with the advent ofthe first iMac, the firmware was updated.[8] The ROM was reduced in size to 1 MB and was called BootROM, and the remainder of the ROM was moved to the fileMac OS ROM in the Mac OSSystem Folder, stored on the hard drive.[9] This ROM used a full implementation of theOpen Firmware standard (contained in BootROM) and was namedNew World ROM;[10] while theboot-ROM part of the previous ROM was retroactively namedOld World ROM.[9]

In 2001, with the release ofMac OS X 10.0, theMac OS ROM file was replaced with theBootX bootloader file.[9] In 2002, with the release ofMac OS X 10.2, the historical "Happy Mac" start-up picture used since thefirst version ofClassic Mac OS was replaced with a grey Apple logo.[1][2]
In 2006, with the introduction of Macs usingIntel-based hardware, BootROM was replaced by theUnified Extensible Firmware Interface (UEFI) ROM (although Apple still calls it BootROM) and BootX is replaced by theboot.efi file.[4][11]

To make the boot loader appealing to other operating system developers, Apple added features to allow flexibility in the booting process such asnetwork boot usingTFTP and loadMach-O andELF formattedkernels. BootX can also boot fromHFS,HFS+,UFS andext2formatted volumes.[12] The boot loader can be manipulated at startup by holding down various key combinations to alter the booting process. Such functions include Verbose Mode, achieved by holding down theCommand andV key at startup, which replaces the defaultApple logo with text-based information on the boot process andSingle User Mode, achieved by holding down theCommand andS, which, depending on the operating system, may boot into a more basiccommand-line or text-based version of the operating system, to facilitate maintenance and recovery action.[13] The ROM can also be set to require a password to access these technical functions using the OpenFirmware interface.[14]
This sectionneeds expansion with: information on how Mac OS X is booted on Old World Macs. You can help byadding missing information. Relevant discussion may be found on thetalk page.(April 2025) |
In PowerPC-based Macintoshes, theboot process starts with the activation of BootROM, the basic Macintosh ROM, which performs aPower On Self Test to test hardware essential to startup.[4] On the passing of this test, the startup chime is played and control of the computer is passed to OpenFirmware. OpenFirmware initializes the Random Access Memory,Memory Management Unit and hardware necessary for the ROM's operation. The OpenFirmware then checks settings, stored inNVRAM, and builds a list of all devices on a device tree by gathering their storedFCode information.[6]
On the completion of this task, BootX takes over the startup process configuring the keyboard and display, claiming and reserving memory for various purposes and checking to see if various key combinations are being pressed.[15] After this process has been completed BootX displays the grey Apple logo, spins the spinning wait cursor, and proceeds to load the kernel and somekernel extensions and start the kernel.[16]