Jump to content

Hackintosh

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by The creator (talk | contribs) at 22:55, 22 April 2008. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

OSx86 (a portmanteau of OS X and x86) is a collaborative hacking project to run the Mac OS X computer operating system on non-Apple personal computers with x86 architecture processors. The effort started soon after the June 2005 Worldwide Developers Conference announcement that Apple would be transferring their personal computers from PowerPC to Intel microprocessors.

A computer built to run this type of Mac OS X is sometimes known as a Hackintosh, which is a recycled term originally denoting the modified Lisa 2/10 running Mac System.

Developer Transition Kit

Initial efforts to run Mac OS X on non apple hardware revolved around leaked copies of the Development DVD released by Apple as part of the Developer Transition Kit which Apple made available to registered developers for $999. The first patches centered around circumventing the Trusted Platform Module (TPM) that was included on the motherboard of the Developer Transition Kits. The TPM was required by the Rosetta technology that allowed software compiled for the PowerPC architecture to run on Intel-based architecture. Removing this requirement allowed Mac OS X to be installed on non-Apple computers. Rosetta also required microprocessors that included SSE3 instructions. Patches were released to the community which emulated these instructions with SSE2 equivalents and allowed the installation on machines without SSE3 support, although this produced a performance penalty.

In October 2005 Apple released a 10.4.3 update to developers that required NX bit microprocessor support.[1] Patches were released to circumvent this. [2]

Mac OS X on Intel

On January 10 2006, Apple released Mac OS X 10.4.4 with the first generation of Intel-based Macs, the iMac and the MacBook Pro. These machines used Extensible Firmware Interface (EFI) platform firmware instead of the legacy BIOS found on most x86 motherboards. On February 14, 2006 an initial "crack" of Mac OS X v10.4.4 was released on the Internet by a hacker using the pseudonym Maxxuss. [3] Within hours Apple released the 10.4.5 update[4], which was patched again by Maxxuss in less than two weeks. [5] On April 3 2006 Apple released their 10.4.6 update[6] and again patches were released within two weeks that allowed users to install most of this update on non-Apple computers, although this did not include the updated kernel in 10.4.6. These patches were released by SemjaZa and compiled by JaS. In June, JaS released the 10.4.7 Mac OS X update for non-Apple computers using the 10.4.4 kernel.

Up to the release of the 10.4.8 update, all OSx86 patches used the 10.4.4 kernel with the rest of the operating system at version 10.4.8. However, the newer frameworks relied on the newer kernels and this led to users of 10.4.8 encountering many problems. Apple also started making more use of SSE3 instructions on their hardware making it even more difficult for users with CPUs supporting only SSE2 to get a full system running.

XNU kernel patch

Two programmers, working under the pseudonyms Mifki or Vitaliy and Semthex released new kernels by starting with the open source XNU tree and applying patches necessary to run the kernel on non-apple hardware. Mifki's goal was to release the kernel with as few patches as possible, able to run on close-to-Apple hardware. Semthex's goal was to make his kernel more compatible with legacy hardware with the omission of some crucial features.

Both kernels allowed most of the updated kernel extensions/frameworks to work, making properly configured white-box PCs operate more like genuine Apple computers. While Mifki has only updated his kernel once, Semthex updates it regularly and added AMD, VMWare and SSE2-support in later versions. Semthex released his hacked kernel source code on his webpage. On December 24, 2006 he also released the latest patches for the SSE3 kernel as a diff file for his original source tree as a Christmas present to the community. Special attention should be given to the SSE2 emulation which Semthex developed together with Rufus. This emulation was the first fully complete emulation of all SSE3 instructions to be presented to the OSx86 community. The previous SSE2 emulation was incomplete, only emulating 3 of the available SSE3 instructions, and very inefficient compared to the new emulator. The new emulator enabled even SSE2 OSx86 users to run SSE3 based applications such as iTunes 7 and most 3D programs.

In the early days of 10.4.8, an Intel-SSE3 only install DVD was released by JaS, which included Vitaliy's and Semthex's kernel. A few weeks later, a hacker calling themselves tubgirl released an AMD-SSE3 install DVD. With Semthex's successful completion of the SSE2 Kernel, JaS released an SSE2-SSE3 universal DVD and announced his retirement from hacking Mac OS X after seven successful DVD releases.

In March 2007 the OSx86 community made some significant progress with the development of a Live DVD. The Live DVD allows booting to a working system with Mac OS X v10.4.8. Several movies appeared on the web demonstrating this.[7]

At the end of March 2007, the InsanelyMac websites were sold to a UK based company called Fubra Limited.[8] Some people objected to the "commercialization" of the website, including kernel hacker Semthex and other developers, which was followed by a major split of the community.[9]

Uphuck Install DVD

In early May 2007, a new install DVD was released by OSx86 helper uphuck allowed users of the software to deploy a version of Mac OS X which included various extra software applications, drivers, and kernel fixes.[10] There is an official thread dedicated to this build on the OSx86 Project Forum. There are two major releases: version 1.2 and version 1.3 as of June 2007. On July 17th 2007, v1.4i had begun to surface. A few days later on July 30th 2007, v1.4a had also appeared which provided support for AMD CPUs. On 21st August 2007 1.4i r3 was released catering only for Intel CPUs occupying a fraction of the storage space of a normal OSx86 DVD release. The installer remains on a base version of Mac OS X v10.4.9. Subsequent update patches were released as Post-Installation files.

Mac OS X v10.5

The Leopard 10.5 builds (9A466, 9A499, 9A527, 9A559, 9A581, 9B13, 9B18) were successfully installed onto conventional PC hardware. The only known prepatched DVDs, such as JaS or Goatsecx, are the Kalyway 9a527 and ToH RC2 (9A581) DVDs. Apparently these patches were created by a hacker by the name "The Mad Hatter," but the kernels were made by Lorem (9A466), SynthetiX (9A499, 9A527 and 9A559) and ToH (9A581, 9B13 and 9B18).

A hacker called "Uphuck" working with a team called "osx86.turk" created series of DVD images "Codename: iATKOS", which include a full install of Mac OS X Leopard. Distributed over the internet, these installers violate the terms of Apple's license agreement. A team of hackers called "Kalyway" created another standalone 10.5.1 installer DVD image, also distributed via peer to peer filesharing systems, against Apple's terms.[11] A hacker called "Zephyroth" released 10.5.2 for the AMD based PC's.

BrazilMac created a patching process, which was blogged on many sites, making it convenient for users to install Mac OS X onto 3rd party hardware using a legitimate apple DVD.

The OSx86 community has often been quick to make its modifications to Apple's releases to get the operating system running on non-Apple hardware. Within hours of Leopard's release, an AMD/Intel SSE2/3 Kernel Patcher was created to remove the HPET requirement from an original untouched mach_kernel.

Although the various methods of installation can produce complete Leopard installs which boot up, many users experienced problems getting Leopard to work completely.

OSx86 users often use complicated techniques such as restoring the patched DVD to a hard disk partition, which can be made bootable using Apple's Terminal utility, allowing the user to boot the installer from the partition. Transferring data from a serial ATA hard disk is more rapid than a DVD, and the installer partition is not a read only medium, hence can be edited by the user. Users have often needed to do a great deal of editing to get the installers to work. Some users recommended running a more stable hacked version of Tiger from a separate partition with which to edit the installer partition. The forum site Insanelymac features thousands of threads discussing the best manner of preparing a 3rd party install of Mac OS X.

EFI emulation

Extensible Firmware Interface (EFI) is a specification that defines a software interface between an operating system and platform firmware.

In early November 2007, a group of hackers (led by respected community member Netkas), using an already modified boot-132 source root from David Elliot (also known as dfe),[12] developed a method[13] of emulating an EFI environment using a specially modified Darwin bootloader.[14] In practical terms, this meant that regular PCs meeting a minimum set of hardware requirements could now be "seen" as real Macintosh Computers by the OS, allowing the use of unmodified, "stock" Apple kernels and thus giving a more transparent and reliable operation. Several methods for real world deployment of this innovative solution have arisen all around the net. An explanation of this achievement along with a usage guide was provided by the website DigitMemo.com.[15]

EFI is intended as a significantly improved replacement of the legacy BIOS firmware interface historically used by all IBM PC compatibles. Currently most PCs running Microsoft Windows rely on BIOS, while Intel based Macs have been built with EFI firmware since day one. OSx86 hackers have speculatively suggested that despite EFI's technical advantages, Apple's choice of firmware is also influenced by their desire to maintain a closed hardware platform.

Ironically, Microsoft Windows XP supports BIOS only. Apple had to release a firmware update to enable users to run Windows on Intel-based Macs. The EFI patch works in a similar manner: it emulates EFI data for normal BIOS-based PCs and allows OS X to treat BIOS based hardware platforms as genuine EFI-based Macs.

True EFI emulation was a highly sought after asset for the OSX86 community. Previous efforts based upon Apple’s open source Darwin Project and Hackintosh gurus allowed users to enjoy OS X on normal PCs, with patched kernels/kernel modules which simply bypassed EFI. Using the EFI patch, Hackintoshes could boot off "vanilla" (unmodified) OS X kernels and use vanilla kernel extensions, allowing the system to be compatible with future system updates, and giving increased stability. Also of significant note, under Apple's End User License Agreement, the modification of non-Open-Source components of the OS is forbidden.

References

  1. ^ sHARD>> (October 16 2005). "Apple Seeds 10.4.3 Intel to Developers". OSx86 Money Project. Retrieved 2006-05-28. {{cite web}}: Check date values in: |year= (help)
  2. ^ Jonathan Black (October 30 2005). "Hacked OSx86 Updated to 10.4.3". OSx86 $$$ Project. Retrieved 2006-05-28. {{cite web}}: Check date values in: |year= (help)
  3. ^ Jonathan Black (February 14 2006). "OSx86 10.4.4 Security Broken. (Guess Who Done It?)". OSx86 Project. Retrieved 2006-05-28. {{cite web}}: Check date values in: |year= (help)
  4. ^ Apple Computer (February 14 2006). "Mac OS X Update 10.4.5". Apple Computer. Retrieved 2006-05-28. {{cite web}}: Check date values in: |year= (help)
  5. ^ sHARD>> (February 23 2006). "Apple Releases 10.4.5". OSx86 Project. Retrieved 2006-05-28. {{cite web}}: Check date values in: |year= (help)
  6. ^ Apple Computer (April 3 2006). "Mac OS X 10.4.6 for Intel". Apple Computer. Retrieved 2006-05-28. {{cite web}}: Check date values in: |year= (help)
  7. ^ "Mac OS X LiveDVD". OSx86 Project. Retrieved 2007-04-06.
  8. ^ Brendan McLoughlin (March 29, 2007). "Fubra announces InsanelyMac acquisition". Fubra Blog. Retrieved 2007-04-12.
  9. ^ Semthex (March 26, 2007). "OSx86 Project sold-out - InsanelyMac sale, my 2 ct". Semthex.com - Blog. Retrieved 2007-04-12.
  10. ^ OSx86Forum (June 1, 2007). "OSx86 Official Uphuck DVD Thread". OSx86Project - Forum. Retrieved 2007-06-01.{{cite web}}: CS1 maint: numeric names: authors list (link)
  11. ^ http://forum.insanelymac.com/index.php?showtopic=77074
  12. ^ http://www.tgwbd.org/darwin/boot.html
  13. ^ http://netkas.freeflux.net/blog/archive/2007/11/05/w00t.html
  14. ^ http://tgwbd.org/darwin/boot.html
  15. ^ http://www.digitmemo.com/articles/734/howto-install-efi-patch-and-enable-vanilla-os-x-kernel-in-hackintosh/