Jump to content

BootX (Apple): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Rescuing 3 sources, flagging 0 as dead, and archiving 7 sources. #IABot
KMaster888 (talk | contribs)
History: add link
 
(48 intermediate revisions by 28 users not shown)
Line 1: Line 1:
{{Short description|Boot loader developed by Apple Inc.}}
{{Use mdy dates|date=October 2013}}
{{Use mdy dates|date=October 2013}}
{{Infobox Software
{{Infobox Software
| name = BootX
| name = BootX
| screenshot = [[File:BootX.png]]
| screenshot = Mac OS X startup screen.png
| caption = The BootX booting screen used on Macintoshes with Mac OS X 10.2 or later
| caption = The BootX booting screen used on Macintoshes with Mac OS X 10.2 or later
| developer = [[Apple Inc.]]
| developer = [[Apple Inc.]]
| released = August 24, 2002 (with [[Mac OS X 10.2]])<ref name=10.2release>{{cite web| title = Jaguar "Unleashed" at 10:20 p.m. Tonight|date= August 23, 2002 |publisher = [[Apple Inc.]]| url = http://www.apple.com/pr/library/2002/aug/23jaguar.html|accessdate = May 2, 2008}}</ref><ref name=newbootscreen>{{cite web|date=September 5, 2002 |last=Siracusa |first=John |title=Mac OS X 10.2 Jaguar |publisher=[[Ars Technica]] |url=http://arstechnica.com/reviews/os/macosx-10-2.ars/ |page=3 |accessdate=May 3, 2008 |deadurl=yes |archiveurl=https://web.archive.org/20080421005232/http://arstechnica.com:80/reviews/os/macosx-10-2.ars |archivedate=April 21, 2008 }}</ref>
| released = August 24, 2002 (with [[Mac OS X 10.2]])<ref name=10.2release>{{cite web| title = Jaguar "Unleashed" at 10:20 p.m. Tonight| date = August 23, 2002| publisher = [[Apple Inc.]]| url = https://www.apple.com/newsroom/2002/08/23Jaguar-Unleashed-at-10-20-p-m-Tonight/| access-date = June 12, 2019}}</ref><ref name=newbootscreen>{{cite web|date=September 5, 2002 |last=Siracusa |first=John |title=Mac OS X 10.2 Jaguar |publisher=[[Ars Technica]] |url=https://arstechnica.com/apple/2002/09/macosx-10-2/ |page=3 |access-date=January 26, 2016}}</ref>
| latest release version =
| latest release version =
| latest release date =
| latest release date =
| latest preview version =
| latest preview version =
| latest preview date =
| latest preview date =
| frequently updated =
| programming language =
| programming language =
| operating system = [[Darwin (operating system)|Darwin]] & [[Mac OS X]]<ref>{{cite web| title = Darwin 9.2 Source Code| publisher = [[Apple Inc.]]| url = http://www.opensource.apple.com/darwinsource/10.5.2/| accessdate = May 17, 2008 }}</ref>
| operating system = [[Darwin (operating system)|Darwin]] & [[macOS|Mac OS X]]<ref>{{GitHub|https://github.com/apple-oss-distributions/BootX/tree/BootX-81}}</ref>
| platform = [[PowerPC]]<ref name=applekb1>{{cite web|title=System Startup Programming Topics: The Boot Process |publisher=[[Apple Inc.]] |date=February 8, 2007 |url=http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html |accessdate=May 1, 2008 |deadurl=yes |archiveurl=https://web.archive.org/20080706145146/http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html |archivedate=July 6, 2008 }}</ref>
| platform = [[PowerPC]]<ref name=applekb1>{{cite web|title=System Startup Programming Topics: The Boot Process |publisher=[[Apple Inc.]] |date=February 8, 2007 |url=https://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html |access-date=May 1, 2008 |url-status=dead |archive-url=https://web.archive.org/web/20080706145146/http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html |archive-date=July 6, 2008 }}</ref>
| language =
| language =
| status = Active
| genre = [[Boot loader]]
| genre = [[Boot loader]]
| license = [[Apple Public Source License]]<ref name=apsl>{{cite web|title = Apple Public Source License| publisher = [[Apple Inc.]]|date=August 6, 2003 |url = http://www.opensource.apple.com/apsl/ |accessdate = May 2, 2008}}</ref>
| license = [[Apple Public Source License]]<ref name=apsl>{{cite web|title = Apple Public Source License|publisher = [[Apple Inc.]]|date = August 6, 2003|url = https://opensource.apple.com/apsl|access-date = July 23, 2017}}</ref>
| website =
| website =
}}
}}


{{For|the similarly-named bootloader that is one of the bootloaders that enables Old World PowerPC Macintoshes to boot native (i.e. non-MkLinux) Linux|BootX (Linux)}}
'''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 driver]]s and then starting-up [[Mac OS X]] by booting the [[Kernel (computer science)|kernel]] on all [[PowerPC]] Macintoshes running the [[Mac OS X 10.2]] operating system or later versions.<ref name=newbootscreen/><ref name=book324-325>{{cite book|last=Singh|first=Amit|title=Mac OS X Internals: A Systems Approach|origyear=2006|url=http://books.google.com/?id=K8vUkpOXhN4C|accessdate=May 3, 2008|publisher=Addison-Wesley|isbn=0-321-27854-2|pages=324–325|chapter=The Firmware and the Bootloader|year=2007}}</ref> Using BootROM, a [[read-only memory]] (ROM) [[computer chip]] containing [[OpenFirmware]], a graphical [[bootsplash]] is shown briefly on all compatible Macintosh computers as a grey [[Apple logo]] with a spinning cursor that appears during the [[Booting|startup]] sequence.<ref name=bootmac>{{cite web| last = Singh| first = Amit| title = Booting Mac OS X| publisher = kernelthread.com| url = http://www.kernelthread.com/mac/osx/arch_boot.html|accessdate = May 1, 2008}} {{Dead link|date=April 2012|bot=H3llBot}}</ref> The program is freely available as part of the [[Darwin (operating system)|Darwin]] [[operating system]] under the [[open source]] [[Apple Public Source License]].<ref name=apsl/> BootX was superseded by another nearly identical bootloader named <code>boot.efi</code> and an [[Extensible Firmware Interface]] [[Read-only memory|ROM]] on the release of the [[Apple–Intel architecture|Intel-based Mac]].<ref name=applekb1/>

'''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 driver]]s and then starting-up [[macOS|Mac OS X]] by booting the [[Kernel (operating system)|kernel]] on all [[PowerPC]] Macintoshes running the [[Mac OS X 10.2]] operating system or later versions.<ref name=newbootscreen/><ref name=book324-325>{{cite book|last=Singh|first=Amit|title=Mac OS X Internals: A Systems Approach|orig-year=2006|url=https://books.google.com/books?id=K8vUkpOXhN4C|access-date=May 3, 2008|publisher=Addison-Wesley|isbn=978-0-321-27854-8|pages=324–325|chapter=The Firmware and the Bootloader|year=2007}}</ref>

Using [[BootROM]], a [[read-only memory]] (ROM) [[integrated circuit|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 [[Booting|startup]] sequence.<ref name=bootmac>{{cite web| last = Tanous | first = Jim| title = Booting Mac OS X| publisher = tekrevue.com| url = https://www.tekrevue.com/tip/mac-startup-options/|access-date = September 29, 2014}}</ref>

The program is freely available as part of the [[Darwin (operating system)|Darwin]] [[operating system]] under the [[Open-source license|open-source]] [[Apple Public Source License]].<ref name=apsl/>

BootX was superseded by another nearly identical bootloader named <code>boot.efi</code> and an [[UEFI|Extensible Firmware Interface]] [[Read-only memory|ROM]] on the release of the [[Apple–Intel architecture|Intel-based Mac]].<ref name=applekb1/>


== History ==
== History ==
[[File:Oldworldboot.gif|thumb|Old World boot icon|left]]
[[File:Oldworldboot.gif|thumb|Old World boot icon|left]]
[[File:NewworldbootOS9.png|thumb|New World boot icon|left]]
[[File:NewworldbootOS9.png|thumb|New World boot icon|left]]
Older Macintoshes dating from 1983 until 1998 utilized a basic [[bootloader]]; the bootloader was solely a ROM [[computer chip|chip]] varying in sizes up to 4&nbsp;[[megabyte]]s (MB), which contained both the [[computer code]] to boot the computer and to run the Mac OS operating system.<ref>{{cite web| date = August 23, 2000 |title = Macintosh: ROM Size for Various Models | publisher = [[Apple Inc.]]| url = http://docs.info.apple.com/article.html?artnum=11609 | accessdate = May 15, 2008}}</ref> This was known as the [[Macintosh Toolbox]], or the [[Old World ROM]], 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.<ref name=book267-268/>
Older Macintoshes dating from 1983 until 1998 utilize a basic [[bootloader]]. Those Macintoshes include a ROM [[integrated circuit|chip]] varying in sizes up to 4&nbsp;[[megabyte]]s (MB),<ref>{{cite web | date = August 23, 2000 | title = Macintosh: ROM Size for Various Models | publisher = [[Apple Inc.]] | url = http://docs.info.apple.com/article.html?artnum=11609 | access-date = May 15, 2008 | archive-url = https://web.archive.org/web/20020621112135/http://docs.info.apple.com/article.html?artnum=11609 | archive-date = June 21, 2002 | url-status = dead }}</ref> which contains both the [[computer program|computer code]] to boot the computer and to run the Mac OS operating system. 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 disk drive|hard drive]] of large capacity to store the operating system. This bootloader was used in all Macintosh computers until mid-1998.<ref name=book267-268/>


With the advent of the [[iMac]] series of Macintoshes, the firmware was updated.<ref>{{cite web|date=October 5, 1999 |title=Apple Announces Mac OS 9: The Best Internet OS Ever |publisher=[[Apple Inc.]] |url=http://www.apple.com/ca/press/1999/10/os9.html |accessdate=May 17, 2008 |deadurl=yes |archiveurl=https://web.archive.org/20081217080504/https://www.apple.com/ca/press/1999/10/os9.html |archivedate=December 17, 2008 }}</ref> The ROM was reduced in size to 1&nbsp;MB, called BootROM, and the remainder of the ROM was moved to the file <code>Mac OS ROM</code> in the Mac OS [[System Folder]]; stored on the [[hard drive]].<ref name=book267-268>{{cite book|last=Singh|first=Amit|title=Mac OS X Internals: A Systems Approach|origyear=2006|url=http://books.google.com/?id=K8vUkpOXhN4C|accessdate=May 3, 2008|publisher=Addison-Wesley|isbn=0-321-27854-2|pages=267–268|chapter=The Firmware and the Bootloader|year=2007}}</ref> This ROM used a full implementation of the [[OpenFirmware]] standard (contained in BootROM) and was named the [[New World ROM]].<ref>{{cite web|date=March 26, 1999 |title=The Macintosh ROM and The NewWorld Architecture |publisher=[[Apple Inc.]] |url=http://developer.apple.com/documentation/Hardware/DeviceManagers/pci_srvcs/pci_cards_drivers/PCI_BOOK.26.html#pgfId=3296 |accessdate=May 15, 2008 |deadurl=yes |archiveurl=https://web.archive.org/20040924082343/http://developer.apple.com:80/documentation/Hardware/DeviceManagers/pci_srvcs/pci_cards_drivers/PCI_BOOK.26.html |archivedate=September 24, 2004 }}</ref>
With the advent of the [[iMac]] series of Macintoshes, the firmware was updated.<ref>{{cite web|date=October 5, 1999 |title=Apple Announces Mac OS 9: The Best Internet OS Ever |publisher=[[Apple Inc.]] |url=https://www.apple.com/ca/press/1999/10/os9.html |access-date=May 17, 2008 |url-status=dead |archive-url=https://web.archive.org/web/20081217080504/https://www.apple.com/ca/press/1999/10/os9.html |archive-date=December 17, 2008 }}</ref> The ROM was reduced in size to 1&nbsp;MB, called BootROM, and the remainder of the ROM was moved to the file <code>Mac OS ROM</code> in the Mac OS [[System Folder]], stored on the hard drive.<ref name=book267-268>{{cite book|last=Singh|first=Amit|title=Mac OS X Internals: A Systems Approach|orig-year=2006|url=https://books.google.com/books?id=K8vUkpOXhN4C|access-date=May 3, 2008|publisher=Addison-Wesley|isbn=978-0-321-27854-8|pages=267–268|chapter=The Firmware and the Bootloader|year=2007}}</ref> This ROM used a full implementation of the [[Open Firmware]] standard (contained in BootROM) and was named the [[New World ROM]].<ref>{{cite web|date=March 26, 1999 |title=The Macintosh ROM and The NewWorld Architecture |publisher=[[Apple Inc.]] |url=https://developer.apple.com/documentation/Hardware/DeviceManagers/pci_srvcs/pci_cards_drivers/PCI_BOOK.26.html#pgfId=3296 |access-date=May 15, 2008 |url-status=dead |archive-url=https://web.archive.org/web/20040924082343/http://developer.apple.com/documentation/Hardware/DeviceManagers/pci_srvcs/pci_cards_drivers/PCI_BOOK.26.html |archive-date=September 24, 2004 }}</ref>


In 2001, with the release of [[Mac OS X]], the <code>Mac OS ROM</code> file was replaced with the <code>BootX</code> bootloader file,.<ref name=book267-268/> 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.<ref>{{cite news |first=John |last=Markoff |authorlink=John Markoff |title=Compressed Data; Happy Mac Becomes an Icon of the Past |url=http://query.nytimes.com/gst/fullpage.html?res=9C03EFDE103CF935A1575BC0A9649C8B63&sec=&spon=&pagewanted=print |work=The New York Times |location=New York |date=August 26, 2002 |accessdate=May 17, 2008}}</ref> By introducing the [[Apple–Intel architecture|Intel Mac]] in 2006, BootROM was replaced by the near identical [[Extensible Firmware Interface]] ROM (although Apple still calls it BootROM) and the <code>boot.efi</code> file.<ref name=applekb1/><ref>{{cite web| title = Apple Unveils New iMac with Intel Core Duo Processor | publisher = [[Apple Inc.]]|url = http://www.apple.com/pr/library/2006/jan/10imac.html|date= January 10, 2006 |accessdate = May 16, 2008}}</ref>
In 2001, with the release of [[Mac OS X 10.0]], the <code>Mac OS ROM</code> file was replaced with the <code>BootX</code> bootloader file.<ref name=book267-268/> 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.<ref>{{cite news |first=John |last=Markoff |author-link=John Markoff |title=Compressed Data; Happy Mac Becomes an Icon of the Past |url=https://query.nytimes.com/gst/fullpage.html?res=9C03EFDE103CF935A1575BC0A9649C8B63&sec=&spon=&pagewanted=print |work=The New York Times |location=New York |date=August 26, 2002 |access-date=May 17, 2008}}</ref> By introducing the [[Apple–Intel architecture|Intel Mac]] in 2006, BootROM was replaced by the near identical [[UEFI|Extensible Firmware Interface]] ROM (although Apple still calls it BootROM) and the <code>boot.efi</code> file.<ref name=applekb1/><ref>{{cite press release|title = Apple Unveils New iMac with Intel Core Duo Processor|publisher = [[Apple Inc.]]|url = https://www.apple.com/newsroom/2006/01/10Apple-Unveils-New-iMac-with-Intel-Core-Duo-Processor/|date = January 10, 2006|access-date = October 20, 2019}}</ref>


== 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 (computer science)|kernels]]. BootX can also boot from [[Hierarchical File System|HFS]], [[HFS+]], [[Unix File System|UFS]] and [[ext2]] 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 |format=PDF |pages = 7–8 |accessdate = May 1, 2008|archiveurl = http://web.archive.org/web/20070309142504/http://www.cs.rpi.edu/~gerbal/BootX.pdf |archivedate = March 9, 2007|deadurl=yes}}</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]], achieved by holding down the [[Command Key|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.<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| accessdate = May 2, 2008}}</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| accessdate = May 3, 2008}}</ref>
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 = Singh| first = Amit| title = Mac OS X System Startup| publisher = kernelthread.com| url = http://www.kernelthread.com/mac/osx/arch_startup.html|accessdate = May 15, 2008}} {{Dead link|date=April 2012|bot=H3llBot}}</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>


== References ==
== References ==
Line 47: Line 54:
* [http://www.osxbook.com Mac OS X] at osxbook.com
* [http://www.osxbook.com Mac OS X] at osxbook.com


{{Mac OS X}}
{{macOS}}
{{good article}}
{{good article}}


[[Category:OS X]]
[[Category:MacOS]]
[[Category:Boot loaders]]
[[Category:Boot loaders]]

Latest revision as of 03:25, 6 December 2024

BootX
Developer(s)Apple Inc.
Initial releaseAugust 24, 2002 (with Mac OS X 10.2)[1][2]
Operating systemDarwin & Mac OS X[3]
PlatformPowerPC[4]
TypeBoot loader
LicenseApple 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

[edit]
Old World boot icon
New World boot icon

Older Macintoshes dating from 1983 until 1998 utilize a basic bootloader. Those Macintoshes include a ROM chip varying in sizes up to 4 megabytes (MB),[8] which contains both the computer code to boot the computer and to run the Mac OS operating system. 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

[edit]

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

[edit]
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]

References

[edit]
  1. ^ "Jaguar "Unleashed" at 10:20 p.m. Tonight". Apple Inc. August 23, 2002. Retrieved June 12, 2019.
  2. ^ a b 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. ^ 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.
  5. ^ a b "Apple Public Source License". Apple Inc. August 6, 2003. Retrieved July 23, 2017.
  6. ^ 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.
  7. ^ a b 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. ^ 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.
  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.
[edit]