BootX (Apple): Difference between revisions
m →History: removed redundant "Hard drive" wikilink |
m formatting fix |
||
Line 40: | Line 40: | ||
== Features == |
== 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 [[Executable and Linkable Format|ELF]] formatted [[Kernel ( |
To make the boot loader appealing to other operating system developers, Apple added features to allow flexibility in the booting process such as [[network booting|network boot]] using [[Trivial File Transfer Protocol|TFTP]] and load [[Mach-O]] and [[Executable and Linkable Format|ELF]] formatted [[Kernel (operating system)|kernels]]. BootX can also boot from [[Hierarchical File System (Apple)|HFS]], [[HFS Plus|HFS+]], [[Unix File System|UFS]] and [[ext2]] [[Logical volume management|formatted volumes]].<ref>{{cite web| last = Gerbarg| first = Louis| title = BootX: The Mac OS X Bootloader| publisher = Rensselaer Polytechnic Institute - Computer Science Department| url = http://www.cs.rpi.edu/~gerbal/BootX.pdf |pages = 7–8 |access-date = May 1, 2008|archive-url = https://web.archive.org/web/20070309142504/http://www.cs.rpi.edu/~gerbal/BootX.pdf |archive-date = March 9, 2007|url-status=dead}}</ref> 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 Key|Command]] and [[V]] key at startup, which replaces the default [[Apple logo]] with text-based information on the boot process and [[Single-user mode|Single User Mode]], achieved by holding down the [[Command Key|Command]] and [[S]], which, depending on the operating system, may boot into a more basic [[command-line interface|command-line]] or text-based version of the operating system, to facilitate maintenance and recovery action.<ref>{{cite web| title = Mac OS X keyboard shortcuts| publisher = [[Apple Inc.]]| date = October 17, 2007| url = http://docs.info.apple.com/article.html?artnum=75459| access-date = May 2, 2008| archive-url = https://web.archive.org/web/20080423201850/http://docs.info.apple.com/article.html?artnum=75459| archive-date = April 23, 2008| url-status = dead}}</ref> The ROM can also be set to require a password to access these technical functions using the OpenFirmware interface.<ref>{{cite web| title = Setting up firmware password protection in Mac OS X | publisher = [[Apple Inc.]]|url = http://support.apple.com/kb/HT1352| access-date = May 3, 2008}}</ref> |
||
== Boot process == |
== Boot process == |
||
[[File:MacOSXVerboseMode.gif|thumb|right|150px|Mac OS X booting up in single-user mode]] |
[[File:MacOSXVerboseMode.gif|thumb|right|150px|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.<ref name=applekb1/> 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.<ref name=book324-325/> |
In PowerPC-based Macintoshes, the [[booting|boot process]] starts with the activation of BootROM, the basic Macintosh ROM, which performs a [[Power-on self-test|Power On Self Test]] to test hardware essential to startup.<ref name=applekb1/> 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]] and hardware necessary for the ROM's operation. The OpenFirmware then checks settings, stored in [[Non-volatile random-access memory|NVRAM]], and builds a list of all devices on a device tree by gathering their stored [[FCode]] information.<ref name=book324-325/> |
||
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.<ref name=bootmac/> 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 [[loadable kernel module|kernel extensions]] and start the kernel.<ref>{{cite web| last = Tanous| first = Jim| title = Mac OS X System Startup| publisher = tekrevue.com| url = https://www.tekrevue.com/tip/mac-startup-options/|access-date = September 29, 2014}}</ref> |
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.<ref name=bootmac/> 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 [[loadable kernel module|kernel extensions]] and start the kernel.<ref>{{cite web| last = Tanous| first = Jim| title = Mac OS X System Startup| publisher = tekrevue.com| url = https://www.tekrevue.com/tip/mac-startup-options/|access-date = September 29, 2014}}</ref> |
Revision as of 16:54, 27 March 2023
Developer(s) | Apple Inc. |
---|---|
Initial release | August 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]
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
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
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]
References
- ^ "Jaguar "Unleashed" at 10:20 p.m. Tonight". Apple Inc. August 23, 2002. Retrieved June 12, 2019.
- ^ a b Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar". Ars Technica. p. 3. Retrieved January 26, 2016.
- ^ BootX-81 on GitHub
- ^ a b c d "System Startup Programming Topics: The Boot Process". Apple Inc. February 8, 2007. Archived from the original on July 6, 2008. Retrieved May 1, 2008.
- ^ a b "Apple Public Source License". Apple Inc. August 6, 2003. Retrieved July 23, 2017.
- ^ a b 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.
- ^ a b Tanous, Jim. "Booting Mac OS X". tekrevue.com. Retrieved September 29, 2014.
- ^ "Macintosh: ROM Size for Various Models". Apple Inc. August 23, 2000. Archived from the original on June 21, 2002. Retrieved May 15, 2008.
- ^ a b c 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.
- ^ "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.
- ^ "The Macintosh ROM and The NewWorld Architecture". Apple Inc. March 26, 1999. Archived from the original on September 24, 2004. Retrieved May 15, 2008.
- ^ 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.
- ^ "Apple Unveils New iMac with Intel Core Duo Processor" (Press release). Apple Inc. January 10, 2006. Retrieved October 20, 2019.
- ^ 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.
- ^ "Mac OS X keyboard shortcuts". Apple Inc. October 17, 2007. Archived from the original on April 23, 2008. Retrieved May 2, 2008.
- ^ "Setting up firmware password protection in Mac OS X". Apple Inc. Retrieved May 3, 2008.
- ^ Tanous, Jim. "Mac OS X System Startup". tekrevue.com. Retrieved September 29, 2014.
External links
- Mac OS X at osxbook.com