OSx86
Encyclopedia
OSx86 is a collaborative hacking project to run the Mac OS X computer operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 on non-Apple personal computers with x86 architecture
X86 architecture
The term x86 refers to a family of instruction set architectures based on the Intel 8086 CPU. The 8086 was launched in 1978 as a fully 16-bit extension of Intel's 8-bit based 8080 microprocessor and also introduced segmentation to overcome the 16-bit addressing barrier of such designs...

 and x86-64
X86-64
x86-64 is an extension of the x86 instruction set. It supports vastly larger virtual and physical address spaces than are possible on x86, thereby allowing programmers to conveniently work with much larger data sets. x86-64 also provides 64-bit general purpose registers and numerous other...

 compatible processors. The effort started soon after the June 2005 Worldwide Developers Conference
Worldwide Developers Conference
The Apple Worldwide Developers Conference, commonly abbreviated WWDC, is a conference held annually in California by Apple Inc. The conference is primarily used by Apple to showcase its new software and technologies for developers, as well as offering hands-on labs and feedback sessions...

 announcement that Apple would be transitioning its personal computers from PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

 to Intel microprocessors.

A computer built to run this type of is also known as a Hackintosh, a portmanteau of the word "hack" and the name of Apple's main brand of computers, Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

. Hackintoshed notebook computers are also referred to as "Hackbooks".

The Apple software license does not allow to be used on a computer that is not "Apple-branded". The legality of this form of tying is disputed by companies such as Psystar, Bizon computer, PearC
PearC
PearC is the name given to the line of personal computers produced by German manufacturer HyperMegaNet UG, that sells PCs with Mac OS X, similar to Psystar...

 and MacPC who have attempted to release products using Mac OS on non Apple-machines. However, Apple claims the methods it uses to prevent from being installed on non-Apple hardware are protected by the DMCA, and in November 2009 won a summary judgement against Psystar on these grounds.

Legal issues and Apple objections

Apple does not authorize the use of the Mac OS on any x86 PC other than the ones it has developed itself. The company used a Trusted Platform Module
Trusted Platform Module
In computing, Trusted Platform Module is both the name of a published specification detailing a secure cryptoprocessor that can store cryptographic keys that protect information, as well as the general name of implementations of that specification, often called the "TPM chip" or "TPM Security...

, or TPM, to tie Mac OS to the systems it distributed to developers after announcing its switch to Intel's chips.

The EULA forbids installations of on a "non-Apple-branded computer". On July 3, 2008, Apple filed a lawsuit against Psystar Corporation
Psystar Corporation
Psystar Corporation was a Miami, Florida based company which sold "Open Computers". These computers, first announced in April 2008, had the option to be pre-installed with Mac OS X Leopard, making them the first commercially distributed "hackintosh" computers. In November 2009, a U.S...

 for violating this restriction, among other claims. Apple claimed Psystar "violated the Digital Millennium Copyright Act (DMCA) by dodging copy-protection technologies Apple uses to protect . "Apple employs technological protection measures that effectively control access to Apple's copyrighted works [...] Defendant has illegally circumvented Apple's technological copyright-protection measures." Specifically, Apple charged Psystar with acquiring or creating code that "avoids, bypasses, removes, descrambles, decrypts, deactivates or impairs a technological protection measure without Apple's authority for the purpose of gaining unauthorized access to Apple's copyrighted works." This brief revealed that Apple considers the methods that it uses to prevent from being installed on non-Apple hardware to be protected by the DMCA.

On November 13, 2009, the court granted Apple's motion for summary judgment and found Apple's copyrights were violated as well as the Digital Millennium Copyright Act
Digital Millennium Copyright Act
The Digital Millennium Copyright Act is a United States copyright law that implements two 1996 treaties of the World Intellectual Property Organization . It criminalizes production and dissemination of technology, devices, or services intended to circumvent measures that control access to...

 (DMCA) when Psystar installed Apple's operating system on non-Apple computers. A hearing on remedies was set for December 14.

On January 14, 2009, the Gadget Lab site of Wired Magazine posted a video tutorial for installing on an MSI Wind netbook, but removed it following a complaint from Apple. Textual instructions remain, but include an EULA violation disclaimer.

Developer Transition Kit

Efforts to run on non-Apple hardware utilized leaked copies of pre-release software. On June 6, 2005 Apple announced the availability of a Developer Transition Kit. This kit was made available to registered developers at a cost of $999. The first patches circumvented the Trusted Platform Module
Trusted Platform Module
In computing, Trusted Platform Module is both the name of a published specification detailing a secure cryptoprocessor that can store cryptographic keys that protect information, as well as the general name of implementations of that specification, often called the "TPM chip" or "TPM Security...

 (TPM) that was included on the motherboard of the Developer Transition Kits. The TPM was required by the Rosetta
Rosetta (software)
Rosetta was a lightweight and dynamic binary translator for Mac OS X which Apple released in 2006 when it transitioned the Macintosh from PowerPC to Intel processors. It allowed pre-existing software to run on the new systems without modification....

 technology that allowed software compiled for the PowerPC architecture to run on Intel-based architecture. Removing this requirement allowed to be installed on non-Apple computers. Rosetta also required microprocessors that included SSE3
SSE3
SSE3, Streaming SIMD Extensions 3, also known by its Intel code name Prescott New Instructions , is the third iteration of the SSE instruction set for the IA-32 architecture. Intel introduced SSE3 in early 2004 with the Prescott revision of their Pentium 4 CPU...

 instructions. Patches were released to the community which emulated these instructions with SSE2
SSE2
SSE2, Streaming SIMD Extensions 2, is one of the Intel SIMD processor supplementary instruction sets first introduced by Intel with the initial version of the Pentium 4 in 2001. It extends the earlier SSE instruction set, and is intended to fully supplant MMX. Intel extended SSE2 to create SSE3...

 equivalents and allowed the installation on machines without SSE3 support, although this produced a performance penalty. Being beta software, many updates followed its release.

In October 2005, Apple released update 10.4.3 to developers that required NX bit
NX bit
The NX bit, which stands for No eXecute, is a technology used in CPUs to segregate areas of memory for use by either storage of processor instructions or for storage of data, a feature normally only found in Harvard architecture processors...

 microprocessor support; however, patches were released to circumvent this.

Mac OS X 10.4.4 "Tiger"

On January 10, 2006, Apple released 10.4.4 with the first generation of Intel-based Macs, the iMac and the MacBook Pro. These machines used Extensible Firmware Interface
Extensible Firmware Interface
The Unified Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware...

 (EFI) platform firmware instead of the legacy BIOS
BIOS
In IBM PC compatible computers, the basic input/output system , also known as the System BIOS or ROM BIOS , is a de facto standard defining a firmware interface....

 found on most x86 motherboards. On February 14, 2006, an initial "hack" of v10.4.4 was released on the Internet by a programmer with the pseudonym crg92. Within hours Apple released the 10.4.5 update, which was patched again by the same author within two weeks. On April 3, 2006 Apple released their 10.4.6 update 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. In June, the hackers released the 10.4.7 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 (such as older Pentium 4
Pentium 4
Pentium 4 was a line of single-core desktop and laptop central processing units , introduced by Intel on November 20, 2000 and shipped through August 8, 2008. They had a 7th-generation x86 microarchitecture, called NetBurst, which was the company's first all-new design since the introduction of the...

's) to get a fully compatible 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
XNU
XNU is the computer operating system kernel that Apple Inc. acquired and developed for use in the Mac OS X operating system and released as free and open source software as part of the Darwin operating system...

 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 PC
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

s operate more like genuine Apple computers. While Mifki has only updated his kernel once, Semthex updates it regularly and added AMD, VMware
VMware
VMware, Inc. is a company providing virtualization software founded in 1998 and based in Palo Alto, California, USA. The company was acquired by EMC Corporation in 2004, and operates as a separate software subsidiary ....

 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. The SSE2 emulation that Semthex developed with Rufus 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
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

. The new emulator enabled even SSE2 OSx86 users to run SSE3 based applications such as iTunes
ITunes
iTunes is a media player computer program, used for playing, downloading, and organizing digital music and video files on desktop computers. It can also manage contents on iPod, iPhone, iPod Touch and iPad....

 7 and most 3D programs.

In the early days of 10.4.8, an Intel-SSE3 only install DVD
DVD
A DVD is an optical disc storage media format, invented and developed by Philips, Sony, Toshiba, and Panasonic in 1995. DVDs offer higher storage capacity than Compact Discs while having the same dimensions....

 was released by JaS, which included Vitaliy's and Semthex's kernel. A few weeks later, a hacker calling himself 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 after seven successful DVD releases. However, on August 9, 2008, JaS released yet another distribution featuring both a client and server version of Mac OS 10.5.4.

Mac OS X v10.5 "Leopard"

As early as v10.5 build 9A466 the community has maintained a version of Leopard that can run on non-Apple hardware. A hacker by the handle of BrazilMac created one of the earliest patching processes which made it convenient for users to install onto 3rd party hardware by using a legally obtained, retail version of Apple . It was utilizing the BrazilMac patch that many effortless distros of Mac OSx86 came to fruition. Five of the most popular builds go by the name JaS, Kalyway, iATKOS, iPC and iDeneb - although more recently these builds are on the way out as the Boot-132 method (described below) gains popularity. However, all of these compilations rely on the work of kernel hackers made by Lorem (build 9A466), SynthetiX (builds 9A499, 9A527 and 9A559), ToH (builds 9A581, 9B13 and 9B18) and more recently a group calling themselves StageXNU (now called Voodoo) (Darwin 9.4.0). Their contributions trickled down into the various Mac OSx86 installers, readily available on the internet. There continue to be refined and updated builds released, not just to maintain compatibility with Apple releases but an ever increasing number of third party components. The OSx86 community has been quick to make the necessary modifications to enable Apple's latest releases to run on non-Apple hardware. Within hours of Leopard's release, an AMD/Intel SSE2/3 Kernel Patcher was created which removed the HPET requirement from an original untouched mach_kernel file, a core component of the Mac OS.

Mac OS X v10.6 "Snow Leopard"

When "Snow Leopard" was released, Russian hacker netkas created a version of Chameleon which can boot Mac OS X v10.6. The main problem was that many people were forced to modify DSDT or use kexts due to some specific issues. As soon as possible modbin and dmitrik have released test versions of kernel that allow to boot Snow Leopard on AMD machines. Stable XNU kernels for v10.6 were released by Qoopz and Pcj. There are some popular builds based on Retail by the name Universal (Intel only), Hazard, and iAtkos. Since v10.6.2 Nawcom, Qoopz, and Andy Vandijck have been working on Legacy kernel for unsupported CPUs.

Mac OS X v10.7 "Lion"

When Apple had released the Developer Preview 1, Russian Hackintosh developer usr-sse2 was the first who created a method to install Lion. The method consists in deploying Mac OS X v10.7 image on a flash drive, and booting from it through XPC UEFI Bootloader (See DUET below). After some changes were made to the Chameleon source code, booting of Lion was possible with an updated version of Chameleon. Lion still doesn't work on AMD PC's as there is not yet a kernel for it.

EFI emulation

Extensible Firmware Interface
Extensible Firmware Interface
The Unified Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware...

 (EFI) is a specification that defines a software interface between an operating system and platform firmware. Since this method generally does not require copying or modification of , it is the considered to be the most legal way of installing on non-Apple computers.

In early November 2007, a group of hackers (fronted by a Russian hacker known as Netkas), using an already modified boot-132 source root from David Elliot (also known as dfe), developed a method of emulating an EFI environment using a specially modified Darwin boot loader. 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 (as long as the CPU supports it) and thus giving a more transparent and reliable operation. Several methods for real world deployment of this innovative solution have arisen all around the Internet. An explanation of this achievement along with a usage guide was provided by the website DigitMemo.com.

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 use on normal PCs, with patched kernels/kernel modules which simply bypassed EFI. Using the EFI patch, a Hackintosh could boot off "vanilla" (unmodified) kernels and use vanilla kernel extensions. This not only allowed the system to be compatible with future system updates, but also offered increased stability. This method also circumvents one aspect of Apple's End User License Agreement, which states that the modification of non-open Source components of the OS is forbidden.

In mid-2008, a new commercial product, EFi-X, was released that claims to allow full, simple booting off official Leopard install disks, and a subsequent install, without any patching required, but this is possibly a repackaging of Boot-132 technology. Rebel EFI is another commercial product that also seems to use open source software.

It was thought that Windows 7 support of EFI would result in PC motherboards replacing BIOS with EFI. MSI announced the Efinity mainboard in early 2008, but it (and similar products) have not been sold.

Boot-132

Boot-132 is a boot loader provided by Apple for loading the XNU kernel. In mid-2008, a new modified BOOT-132 came on to the scene. This method allows users to conduct the Leopard-based OSx86 installation using a stock, retail purchased copy of Leopard and eradicates the necessity of a hacked installation like JaS or Kalyway (mentioned previously). The Boot-132 boot loader essentially preloads an environment on the system from which Leopard can boot and operate. The boot loader stores the necessary files (kext files) in a .img collection or simply a folder. The luxury of this new installation method includes the ability to boot and install from a retail Leopard DVD and update straight from Apple without breaking the DMCA. The only possible problem here is that it breaks the EULA.

The boot loader behaves like the linux kernel: one can use an mboot-compatible (a patched syslinux was used for the hack) boot loader which tells boot-dfe about the .img file (the ramdisk or initrd, as it's known by linux users), and boot-dfe will then use the kexts (or mkext) from it. This new boot-dfe has been tested with the retail Leopard DVD, and it can boot, install, and run Leopard without having to build a modified DVD.

This however only works with compatible machines. One notable exception, that since the release of the Voodoo kernel in December 2008, AMD users have been able to run Retail. Non-Core users can run Retail by using any compatible kernel. Both methods require the placing of the hacked kernel on the boot-132 disc.

Chameleon

Since the early developer builds of Mac OS X v10.6, members of the OSx86 community had been booting the new operating system using yet another boot loader called PC EFI provided by Russian hacker Netkas or the boot loader of the Voodoo team Chameleon. Chameleon is based on David Elliot's BOOT-132. The bootloader supports ACPI, SMBIOS, graphics, ethernet, and some other injections. It allows to boot up Mac OS X on a different to Macintosh hardware. Chameleon supports a lot of AMD as well as Nvidia Graphics Cards. There are many branches of it by different developers. Chameleon is currently in the 2.1 development state.

DUET

DUET is a boot loader developed by Tianocore that enables you to "boot" into an EFI environment in a non-EFI computer that supports legacy boot.
Some OSx86 boot loaders, like iBOOT and XPC, are based on DUET's source and enable you to create a flash drive and boot from an EFI environment. While Boot-132 injects EFI data into the XNU kernel and then loads via the Darwin Boot loader, iBOOT and XPC are based on EFI directly that boots without any other boot loader. This enables users to load rEFIt
REFIt
rEFIt is a boot menu and maintenance toolkit for EFI-based machines like the Intel Macs. It can be used to boot multiple operating systems, including triple-boot setups with Boot Camp. It also provides a way to enter and explore the EFI pre-boot environment. The name "rEFIt" is likely a play on the...

 directly on PC hardware. This can be done by either replacing the "efi" folder on the flash drive or by installing the rEFIt boot loader on any partition.

Live DVD

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.

On January 2, 2009, InsanelyMac's Live DVD team published a new method by which a Mac OS X v10.5.x Live DVD could be produced, allowing users to boot a fully working desktop from a DVD or USB flash drive. The method was more reliable than previous methods because it manipulated Apple's existing Netboot and Imageboot functionalities and behaved as if the system were running off a network disk. It was easier to produce; requiring only a single script to be added to an existing installation. Distributions of the live DVD have been made since its inception. It is notable that this method has been shown to work on normal Apple Mac hardware since.

Virtual machine

It is also possible to run the Mac OS as a virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 inside of other operating systems installed on standard PC hardware, by using virtualization
Virtualization
Virtualization, in computing, is the creation of a virtual version of something, such as a hardware platform, operating system, a storage device or network resources....

 software such as such as Oracle's
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

 VirtualBox
VirtualBox
Oracle VM VirtualBox is an x86 virtualization software package, originally created by software company Innotek GmbH, purchased by Sun Microsystems, and now developed by Oracle Corporation as part of its family of virtualization products...

  (although this usage is considered to be a violation of Apple's licensing agreements and not officially supported by Oracle ). This method typically utilizes some of the modified OS software listed above to perform the actual install.

See also

  • Macintosh clone
    Macintosh clone
    A Macintosh clone is a personal computer made by a manufacturer other than Apple, using Macintosh ROMs and system software.-Background:...

     - About clones and emulators of various Macintosh models
  • List of computer system emulators - a list of Macintosh and other computer system emulators
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK