BootX (Apple)
Encyclopedia
BootX is a software-based bootloader designed and developed by Apple Inc. for use on the company's Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

 computer range. BootX is used to prepare the computer for use by loading all required device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

s and then starting-up Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

 by booting the kernel on all PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

 Macintoshes running the Mac OS X 10.2 operating system or later versions. Using BootROM, a read-only memory
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

 (ROM) computer chip containing OpenFirmware, a graphical bootsplash
Bootsplash
Bootsplash is a term for a graphical representation of the boot process of the operating system.Bootsplash can be a simple visualisation of the scrolling boot messages in the console, but it can also present graphics or some combinations of both....

 is shown briefly on all compatible Macintosh computers as a grey Apple logo with a spinning cursor that appears during the startup
Booting
In computing, booting is a process that begins when a user turns on a computer system and prepares the computer to perform its normal operations. On modern computers, this typically involves loading and starting an operating system. The boot sequence is the initial set of operations that the...

 sequence. The program is freely available as part of the Darwin
Darwin (operating system)
Darwin is an open source POSIX-compliant computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP, BSD, and other free software projects....

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 under the open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 Apple Public Source License
Apple Public Source License
The Apple Public Source License is the open source and free software license under which Apple's Darwin operating system was released. A free software and open source license was voluntarily adopted to further involve the community from which much of Darwin originated.The first version of the Apple...

. BootX was superseded by another nearly identical bootloader named boot.efi and an Extensible Firmware Interface
Extensible Firmware Interface
The Unified Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware...

 ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

 on the release of the Intel-based Mac.

History

Older Macintoshes dating from 1983 until 1998 utilized a basic bootloader; the bootloader was solely a ROM chip varying in sizes up to 4 megabyte
Megabyte
The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...

s (MB), which contained both the computer code to boot the computer and to run the Mac OS operating system. This was known as the Macintosh Toolbox
Macintosh Toolbox
The Macintosh Toolbox is a set of application programming interfaces with a particular access mechanism. They implement many of the high-level features of the Mac OS. The Toolbox consists of a number of "managers," software components such as QuickDraw, responsible for drawing onscreen graphics,...

, or the Old World ROM
Old World ROM
Old World ROM Macintosh computers are the Macintosh models that use a Macintosh Toolbox ROM chip, usually in a socket . All Macs prior to the iMac use Old World ROM, while the iMac and all subsequent models until the introduction of the Intel-based EFI Models are New World ROM machines...

, and differs greatly from design the modern Macintosh which generally use a hard drive of large capacity to store the operating system. This bootloader was used in all Macintosh computers until mid-1998.

With the advent of the iMac
IMac
The iMac is a range of all-in-one Macintosh desktop computers built by Apple. It has been the primary part of Apple's consumer desktop offerings since its introduction in 1998, and has evolved through five distinct forms....

 series of Macintoshes, the firmware was updated. The ROM was reduced in size to 1 MB, called BootROM, and the remainder of the ROM was moved to the file Mac OS ROM in the Mac OS System Folder
System Folder
The System Folder is the directory in classic versions of Mac OS that holds various files required for the system to operate, such as fonts, system extensions, control panels, and preferences....

; stored on the hard drive. This ROM used a full implementation of the OpenFirmware standard (contained in BootROM) and was named the New World ROM
New World ROM
New World ROM computers are Macintosh models that do not use a Macintosh Toolbox ROM on the logic board. Due to Mac OS X not requiring the availability of the Toolbox, this allowed ROM sizes to shrink dramatically , and facilitated the use of Flash memory for system firmware instead of the now more...

.

In 2001, with the release of Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, the Mac OS ROM file was replaced with the BootX bootloader file,. In 2002, with the release of Mac OS X 10.2, the historical "Happy Mac" start-up picture was replaced with a grey apple logo. By introducing the Intel Mac in 2006, BootROM was replaced by the near identical Extensible Firmware Interface
Extensible Firmware Interface
The Unified Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware...

 ROM (although Apple still calls it BootROM) and the boot.efi file.

Features

To make the boot loader appealing to other operating system developers, Apple added features to allow flexibility in the booting process such as network boot using TFTP and load Mach-O
Mach-O
Mach-O, short for Mach object file format, is a file format for executables, object code, shared libraries, dynamically-loaded code, and core dumps. A replacement for the a.out format, Mach-O offered more extensibility and faster access to information in the symbol table.Mach-O was once used by...

 and ELF
Executable and Linkable Format
In computing, the Executable and Linkable Format is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Application Binary Interface specification, and later in the Tool Interface Standard, it was quickly accepted among...

 formatted kernels. BootX can also boot from HFS
Hierarchical File System
Hierarchical File System is a file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy and hard disks, it can also be found on read-only media such as CD-ROMs...

, HFS+, UFS
Unix File System
The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS...

 and ext2
Ext2
The ext2 or second extended filesystem is a file system for the Linux kernel. It was initially designed by Rémy Card as a replacement for the extended file system ....

 formatted volumes. 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 the Command
Command key
The Command key, also historically known as the Apple key, open-Apple key or meta key is a modifier key present on Apple Keyboards. The Command key's purpose is to allow the user to enter keyboard shortcut commands to GUI applications...

 and V
V
V is the twenty-second letter in the basic modern Latin alphabet.-Letter:The letter V comes from the Semitic letter Waw, as do the modern letters F, U, W, and Y. See F for details....

 key at startup, which replaces the default Apple logo with text-based information on the boot process and Single User Mode
Single user mode
Single user mode is a mode in which a multiuser computer operating system boots into a single superuser. It is mainly used for maintenance of multi-user environments such as network servers. Some tasks may require exclusive access to shared resources, for example running fsck on a network share...

, achieved by holding down the Command
Command key
The Command key, also historically known as the Apple key, open-Apple key or meta key is a modifier key present on Apple Keyboards. The Command key's purpose is to allow the user to enter keyboard shortcut commands to GUI applications...

 and S
S
S is the nineteenth letter in the ISO basic Latin alphabet.-History: Semitic Šîn represented a voiceless postalveolar fricative . Greek did not have this sound, so the Greek sigma came to represent...

, which, depending on the operating system, may boot into a more basic command-line or text-based version of the operating system, to facilitate maintenance and recovery action. The ROM can also be set to require a password to access these technical functions using the OpenFirmware interface.

Boot process

In PowerPC-based Macintoshes, the boot process starts with the activation of BootROM, the basic Macintosh ROM, which performs a Power On Self Test to test hardware essential to startup. 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
Memory management unit
A memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to memory requested by the CPU...

 and hardware necessary for the ROM's operation. The OpenFirmware then checks settings, stored in NVRAM
NVRAM
Non-volatile random-access memory is random-access memory that retains its information when power is turned off, which is described technically as being non-volatile...

, and builds a list of all devices on a device tree by gathering their stored FCode information.

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. After this process has been completed BootX displays the grey Apple logo, spins the spinning wait cursor, and proceeds to load the kernel and some kernel extensions
Loadable Kernel Module
In computing, a loadable kernel module is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system...

and start the kernel.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK