BootX (Apple)

Last updated

BootX
Developer(s) Apple Inc.
Initial releaseAugust 24, 2002 (with Mac OS X 10.2) [1] [2]
Operating system Darwin & Mac OS X [3]
Platform PowerPC [4]
Type Boot loader
License Apple Public Source License [5]

BootX is a software-based bootloader designed and developed by Apple Inc. for use on the company's Macintosh computer range. BootX is used to prepare the computer for use, by loading all required device drivers and then starting-up Mac OS X by booting the kernel on all PowerPC Macintoshes running the Mac OS X 10.2 operating system or later versions. [2] [6]

Contents

Using BootROM, a read-only memory (ROM) computer chip containing Open Firmware, a graphical bootsplash is shown briefly on all compatible Macintosh computers as a grey Apple logo with a spinning cursor that appears during the startup sequence. [7]

The program is freely available as part of the Darwin operating system under the open-source Apple Public Source License. [5]

BootX was superseded by another nearly identical bootloader named boot.efi and an Extensible Firmware Interface ROM on the release of the Intel-based Mac. [4]

History

Old World boot icon Oldworldboot.gif
Old World boot icon
New World boot icon NewworldbootOS9.png
New World boot icon

Older Macintoshes dating from 1983 until 1998 utilized a basic bootloader; the bootloader was solely a ROM chip varying in sizes up to 4  megabytes (MB), which contained both the computer code to boot the computer and to run the Mac OS operating system. [8] The ROM-resident portion of the Mac OS is the Macintosh Toolbox and the boot-ROM part of that ROM was retroactively named Old World ROM upon the release of the New World ROM Macs, starting with the first iMac. The ROM-resident Macintosh Toolbox differs greatly from the design of 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. [9]

With the advent of the iMac series of Macintoshes, the firmware was updated. [10] 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, stored on the hard drive. [9] This ROM used a full implementation of the Open Firmware standard (contained in BootROM) and was named the New World ROM. [11]

In 2001, with the release of Mac OS X 10.0, the Mac OS ROM file was replaced with the BootX bootloader file. [9] 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. [12] By introducing the Intel Mac in 2006, BootROM was replaced by the near identical Extensible Firmware Interface ROM (although Apple still calls it BootROM) and the boot.efi file. [4] [13]

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 and ELF formatted kernels. BootX can also boot from HFS, HFS+, UFS and ext2 formatted volumes. [14] 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 and V key at startup, which replaces the default Apple logo with text-based information on the boot process and Single User Mode, achieved by holding down the Command and S, 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. [15] The ROM can also be set to require a password to access these technical functions using the OpenFirmware interface. [16]

Boot process

Mac OS X booting up in single-user mode MacOSXVerboseMode.gif
Mac OS X booting up in single-user mode

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. [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 in NVRAM, and builds a list of all devices on a device tree by gathering their stored FCode 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. [7] 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 and start the kernel. [17]

Related Research Articles

<span class="mw-page-title-main">Booting</span> Process of starting a computer

In computing, booting is the process of starting a computer as initiated via hardware such as a button or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system.

<span class="mw-page-title-main">Open Firmware</span> Standard for computer bootstrap code

Open Firmware is a standard defining the interfaces of a computer firmware system, formerly endorsed by the Institute of Electrical and Electronics Engineers (IEEE). It originated at Sun Microsystems, where it was known as OpenBoot, and has been used by vendors including Sun, Apple, IBM and ARM. Open Firmware allows the system to load platform-independent drivers directly from a PCI device, improving compatibility.

<span class="mw-page-title-main">Multi-booting</span> Act of installing multiple operating systems on a single computer

Multi-booting is the act of installing multiple operating systems on a single computer, and being able to choose which one to boot. The term dual-booting refers to the common configuration of specifically two operating systems. Multi-booting may require a custom boot loader.

The Macintosh Toolbox implements many of the high-level features of the Classic Mac OS, including a set of application programming interfaces for software development on the platform. The Toolbox consists of a number of "managers," software components such as QuickDraw, responsible for drawing onscreen graphics, and the Menu Manager, which maintain data structures describing the menu bar. As the original Macintosh was designed without virtual memory or memory protection, it was important to classify code according to when it should be loaded into memory or kept on disk, and how it should be accessed. The Toolbox consists of subroutines essential enough to be permanently kept in memory and accessible by a two-byte machine instruction; however it excludes core "kernel" functionality such as memory management and the file system. Note that the Toolbox does not draw the menu onscreen: menus were designed to have a customizable appearance, so the drawing code was stored in a resource, which could be on a disk.

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 expensive and less flexible Mask ROM that most previous Macs used. A facility for loading the Toolbox from the startup device was, however, made available, allowing the use of Mac OS 8 and Mac OS 9 on New World machines.

<span class="mw-page-title-main">Old World ROM</span>

Old World ROM computers are the Macintosh (Mac) models that use a Macintosh Toolbox read-only memory (ROM) chip, usually in a socket. All Macs prior to the iMac, the iBook, the Blue and White Power Mac G3 and the Bronze Keyboard (Lombard) PowerBook G3 use Old World ROM, while said models, as well as all subsequent models until the introduction of the Intel-based EFI Models, are New World ROM machines. In particular, the Beige Power Mac G3 and all other beige and platinum-colored Power Macs are Old World ROM machines. In common use, the "Old World" designation usually applies to the early generations of PCI-based "beige" Power Macs, but not the older Motorola 68000-based Macs; however, the Toolbox runs the same way on all three types of machines.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

UEFI is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of firmware that implement these specifications are AMI Aptio, Phoenix SecureCore Tiano, TianoCore EDK II and InsydeH2O.

coreboot Open-source computer firmware

coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern 32-bit or 64-bit operating system.

<span class="mw-page-title-main">Power-on self-test</span> Process performed by firmware or software routines

A power-on self-test (POST) is a process performed by firmware or software routines immediately after a computer or other digital electronic device is powered on.

The System folder is the directory in the classic Mac OS that holds various files required for the system to operate, such as fonts, system extensions, control panels, and preferences.

<span class="mw-page-title-main">Hackintosh</span> Non-Apple computer running macOS

A Hackintosh is a computer that runs Apple's Macintosh operating system macOS on computer hardware not authorized for the purpose by Apple. This can also include running Macintosh software on hardware it is not originally authorized for. "Hackintoshing" began as a result of Apple's 2005 transition to Intel processors, away from PowerPC. Since 2005, Mac computers use the same x86-64 computer architecture as many other desktop PCs, laptops, and servers, meaning that in principle, the code making up macOS systems and software can be run on alternative platforms with minimal compatibility issues. Benefits cited for "Hackintoshing" can include cost, ease of repair and piecemeal upgrade, and freedom to use customized choices of components that are not available in the branded Apple products. macOS can also be run on several non-Apple virtualization platforms, although such systems are not usually described as Hackintoshes. Hackintosh laptops are sometimes referred to as "Hackbooks".

Yaboot is a bootloader for PowerPC-based hardware running Linux.

<span class="mw-page-title-main">Apple–Intel architecture</span> Unofficial name used for Macintosh models that use Intel x86 processors

The Apple–Intel architecture, or Mactel, is an unofficial name used for Macintosh personal computers developed and manufactured by Apple Inc. that use Intel x86 processors, rather than the PowerPC and Motorola 68000 ("68k") series processors used in their predecessors or the ARM-based Apple silicon SoCs used in their successors. With the change in architecture, a change in firmware became necessary; Apple selected the Intel-designed Extensible Firmware Interface (EFI) as its comparable component to the Open Firmware used on its PowerPC architectures, and as the firmware-based replacement for the PC BIOS from Intel. With the change in processor architecture to x86, Macs gained the ability to boot into x86-native operating systems, while Intel VT-x brought near-native virtualization with macOS as the host OS.

quik is a boot loader designed to start Linux on Apple Macintosh PowerPC systems based on the Old World ROM architecture. It was originally written by Paul Mackerras, and portions of its code were reused in all other Linux boot loaders for PowerPC, including the one known as BootX, which is dependent on the Mac OS. Quik's loader boots from Open Firmware and bypasses the Mac OS entirely. New World ROM systems use yaboot.

<span class="mw-page-title-main">EFI system partition</span> Partition used by Unified Extensible Firmware Interface

The EFIsystem partition or ESP is a partition on a data storage device that is used by computers having the Unified Extensible Firmware Interface (UEFI). When a computer is booted, UEFI firmware loads files stored on the ESP to start installing operating systems and various utilities.

<span class="mw-page-title-main">Target Disk Mode</span>

Target Disk Mode is a boot mode unique to Macintosh computers.

A hardware restriction is low-level protection enforced by electronic components. The hardware restriction scheme may protect against physical or malware attacks or complement a digital rights management system implemented in software. Some examples of hardware restriction information appliances are video game consoles, smartphones, tablet computers, Macintosh computers and personal computers that implement secure boot.

The classic Macintosh startup sequence includes hardware tests which may trigger the startup chime, Happy Mac, Sad Mac, and Chimes of Death. On Macs running macOS Big Sur or later the startup sound is enabled by default, but can be disabled by the user within System Preferences or System Settings (Ventura).

<span class="mw-page-title-main">Classic Mac OS</span> Original operating system of Apple Mac (1984–2001)

Mac OS is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The Macintosh operating system is credited with having popularized the graphical user interface concept. It was included with every Macintosh that was sold during the era in which it was developed, and many updates to the system software were done in conjunction with the introduction of new Macintosh systems.

iBoot is the stage 2 bootloader for all Apple products. It replaces the old bootloader, BootX. Compared with its predecessor, iBoot improves authentication performed in the boot chain.

References

  1. "Jaguar "Unleashed" at 10:20 p.m. Tonight". Apple Inc. August 23, 2002. Retrieved June 12, 2019.
  2. 1 2 Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar". Ars Technica. p. 3. Retrieved January 26, 2016.
  3. BootX-81 on GitHub
  4. 1 2 3 4 "System Startup Programming Topics: The Boot Process". Apple Inc. February 8, 2007. Archived from the original on July 6, 2008. Retrieved May 1, 2008.
  5. 1 2 "Apple Public Source License". Apple Inc. August 6, 2003. Retrieved July 23, 2017.
  6. 1 2 Singh, Amit (2007) [2006]. "The Firmware and the Bootloader". Mac OS X Internals: A Systems Approach. Addison-Wesley. pp. 324–325. ISBN   978-0-321-27854-8 . Retrieved May 3, 2008.
  7. 1 2 Tanous, Jim. "Booting Mac OS X". tekrevue.com. Retrieved September 29, 2014.
  8. "Macintosh: ROM Size for Various Models". Apple Inc. August 23, 2000. Archived from the original on June 21, 2002. Retrieved May 15, 2008.
  9. 1 2 3 Singh, Amit (2007) [2006]. "The Firmware and the Bootloader". Mac OS X Internals: A Systems Approach. Addison-Wesley. pp. 267–268. ISBN   978-0-321-27854-8 . Retrieved May 3, 2008.
  10. "Apple Announces Mac OS 9: The Best Internet OS Ever". Apple Inc. October 5, 1999. Archived from the original on December 17, 2008. Retrieved May 17, 2008.
  11. "The Macintosh ROM and The NewWorld Architecture". Apple Inc. March 26, 1999. Archived from the original on September 24, 2004. Retrieved May 15, 2008.
  12. Markoff, John (August 26, 2002). "Compressed Data; Happy Mac Becomes an Icon of the Past". The New York Times. New York. Retrieved May 17, 2008.
  13. "Apple Unveils New iMac with Intel Core Duo Processor" (Press release). Apple Inc. January 10, 2006. Retrieved October 20, 2019.
  14. Gerbarg, Louis. "BootX: The Mac OS X Bootloader" (PDF). Rensselaer Polytechnic Institute - Computer Science Department. pp. 7–8. Archived from the original (PDF) on March 9, 2007. Retrieved May 1, 2008.
  15. "Mac OS X keyboard shortcuts". Apple Inc. October 17, 2007. Archived from the original on April 23, 2008. Retrieved May 2, 2008.
  16. "Setting up firmware password protection in Mac OS X". Apple Inc. Retrieved May 3, 2008.
  17. Tanous, Jim. "Mac OS X System Startup". tekrevue.com. Retrieved September 29, 2014.