Jump to content

BootX (Apple): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
History: That's a dependent clause, not an independent clause, so it needs to be separated from the previous clause with a comma, not a semicolon.
GreenC bot (talk | contribs)
Line 13: Line 13:
| 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]] & [[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>
| 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=http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html |accessdate=May 1, 2008 |deadurl=yes |archiveurl=https://web.archive.org/web/20080706145146/http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html |archivedate=July 6, 2008 }}</ref>
| language =
| language =
| status = Active
| status = Active
Line 28: Line 28:
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 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/>


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=http://www.apple.com/ca/press/1999/10/os9.html |accessdate=May 17, 2008 |deadurl=yes |archiveurl=https://web.archive.org/web/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/web/20040924082343/http://developer.apple.com/documentation/Hardware/DeviceManagers/pci_srvcs/pci_cards_drivers/PCI_BOOK.26.html |archivedate=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]], 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>


== 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 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 = https://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>


== Boot process ==
== Boot process ==

Revision as of 05:42, 12 September 2016

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 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 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
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] 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.[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 OpenFirmware standard (contained in BootROM) and was named the New World ROM.[11]

In 2001, with the release of Mac OS X, 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

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

  1. ^ "Jaguar "Unleashed" at 10:20 p.m. Tonight". Apple Inc. August 23, 2002. Retrieved May 2, 2008.
  2. ^ a b Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar". Ars Technica. p. 3. Retrieved January 26, 2016.
  3. ^ "Darwin 9.2 Source Code". Apple Inc. Retrieved May 17, 2008.
  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. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  5. ^ a b "Apple Public Source License". Apple Inc. August 6, 2003. Retrieved May 2, 2008.
  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 0-321-27854-2. Retrieved May 3, 2008.
  7. ^ a b Singh, Amit. "Booting Mac OS X". kernelthread.com. Retrieved May 1, 2008. [dead link]
  8. ^ "Macintosh: ROM Size for Various Models". Apple Inc. August 23, 2000. 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 0-321-27854-2. 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. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  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. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  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". Apple Inc. January 10, 2006. Retrieved May 16, 2008.
  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. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  15. ^ "Mac OS X keyboard shortcuts". Apple Inc. October 17, 2007. Retrieved May 2, 2008.
  16. ^ "Setting up firmware password protection in Mac OS X". Apple Inc. Retrieved May 3, 2008.
  17. ^ Singh, Amit. "Mac OS X System Startup". kernelthread.com. Retrieved May 15, 2008. [dead link]