Kexts for hackintosh wi fi. Kexts. Clearing system program caches

We remind you that this material is provided for informational purposes only. If you are going to reproduce the steps described below, we strongly advise you to carefully read the article to the end at least once. The editors of 3DNews do not bear any responsibility for any possible consequences.

⇡ Introduction

“Hackintosh” is an ironic name for Mac OS X, installed not on an Apple computer, but on a regular PC. This phenomenon became possible when the Cupertino company began migrating its machines from the PowerPC platform to x86 in 2005, and Macs began to be equipped with the same processors and Intel chipsets that are used in personal computers. Since its initial modest victories, the so-called OSx86 project has grown from a hobby of a handful of enthusiasts into a mass movement with a growing user base. Today, when Apple officially released a new version of its operating system, Lion, it’s time to tell everyone who doesn’t have a Mac, but has an interest in Mac OS X and a desire to experiment, about Hackintosh.

The first questions a person asks when he sees a Mac operating system on a PC: “Is it difficult to install?” and “Is everything working fine?” The answer to both is no. Installation has now been simplified to the extreme, so you can play with Mac OS X on almost any modern computer, but the full functionality is not available to everyone - for a fair share of users, hardware graphics acceleration will either not work, or the network, sound, or something else will fail. Hackintoshes also have big problems with sleep mode. All these difficulties can be overcome, but you will probably have to spend a few sleepless nights. In general, the situation completely copies what happened with desktop Linux distributions a few years ago. However, this is a very flattering comparison both for the hacker community and for Apple itself: given that no one has ever prepared Mac OS X to work with non-native hardware, everything could have been much worse. Yes, some hardware will never run under Mac OS, others will require dancing with a tambourine and a hare's foot. But at the same time, a huge fleet of components either works out of the box or starts after simple manipulations. And software for Mac OS in all cases installs and works exactly the same as on a real Mac. It turns out that he’s not so scary, this Hackintosh.

For those who are concerned about the legal side of the phenomenon: of course, Mac OS X can only be legally installed on an Apple-branded computer, and any other options violate the license agreement. It is also prohibited to modify OS components, not to mention using pirated distributions from “torrents”. However, Apple does not persecute the OSx86 community in any way (although it is suing companies that make money from Hackintoshes), and the means of protection against unauthorized use are in their infancy, and ways to overcome them have long been found. Mac OS X doesn't even require a license key or online activation. After all, hackintosh people advertise this OS for free and secretly dream of buying a real Mac. And the most devoted red-eyed experimenters, who fundamentally prefer Hackintosh, are still lost as potential buyers.

If there is no difference, then why pay more? Or is there?

So, if a small crime doesn’t bother you, and technical difficulties only cause healthy excitement, let’s try installing Mac OS X on a PC together. In this article we will describe two simple ways to install the previous, but still popular version of the OS, Snow Leopard (10.6), and one method for the new one, Lion (10.7). There is no point in installing Leopard (10.5), much less Tiger (10.4). If you like the result, then these instructions will become the starting point for mastering Hackintosh yourself. The last section provides links to popular OSx86 community resources where you can learn from other users' experiences and find solutions to specific problems.

⇡ Preparing Hackintosh

Actually, why can’t Mac OS X just work on a PC and how to overcome these obstacles? Reason number one is that in Macs, not the good old BIOS, but EFI is used as a layer between the OS and hardware firmware, and in order for Mac OS to start, EFI is emulated at the level of a special “hacker” bootloader (by the way , we owe this achievement to a Russian hacker under the nickname Netkas). The most popular and rapidly developing loader today is Chameleon and its derivatives, for example Chimera.

The second reason: Mac OS X has a kext (from kernel extension - kernel extension, remember this term) called Dont Steal Mac OS X. It is required to decrypt the applications that make up what looks like an operating system to the user (Dock, Finder, loginwindow, SystemUIServer and others), based on keys from the SMC chip, which is only available on real Macs. Well, if “there are no legs, then there are no cartoons.” The FakeSMC kext comes to the rescue, which successfully emulates an SMC Device, for which, again, thanks to Netkas. A special bootloader and FakeSMC.kext are all that is needed to boot Mac OS X, if the hardware of the computer is not very different from real Macs.

And this is precisely the third reason. There are no drivers for unsupported hardware under Mac OS X, or there are built-in drivers, but the system cannot use them because it does not recognize hardware with unfamiliar identifiers.

The hardware requirements for Hackintoshes are the same - you need a processor that supports SSE2 instructions, best of all - Intel Core 2 Duo and older. AMD users will have to replace the OS kernel with a “hacked” version, and as a result, there will be problems updating the system from the Apple server. The same applies to netbooks on the Atom platform. Support for AHCI mode on the part of the SATA controller is highly desirable. To install Mac OS X Lion you need 2 GB of RAM, for Snow Leopard one is enough. The first rule for selecting hardware: the more the computer resembles real Macs, the fewer problems. Second rule: the newest and most advanced devices may not work no matter how hard you try, because... hardware support depends primarily on the Mac OS itself (hardware drivers are not written for Hackintosh), and Apple is in no hurry. The site wiki.osx86project.org, which contains HLC (Hardware Compatibility Lists) for different versions of Mac OS X, will help you assess the chances of success.

For installation, it is best to use a separate drive with a SATA interface, and, out of harm’s way, turn off the Windows drive. If you are not afraid to conduct experiments on one HDD with a working operating system, then you will have to create a new partition on it using some disk utility (10 GB is enough for pure Mac OS X). Just keep in mind that during the installation process, the Hackintosh bootloader will be written to the HDD, and then you will only be able to get into Windows through it. There is no threat to your existing data, but a backup won’t hurt either. The disk must be connected to the south bridge port of the motherboard; the SATA controller in the BIOS must be set to AHCI mode. It is recommended to remove overclocking, remove all expansion cards except the graphics adapter in the top PCI-E slot, disconnect peripherals other than the keyboard and mouse, and reduce the RAM volume to 4 GB (if more is installed). If the installation with minimal functionality is successful, then all this can be returned step by step. Too many conditions? Then you can practice on cats, that is, in a virtual machine. There are even ready-made images for various hypervisors on the Internet, although using them will not bring you experience in creating Hackintosh.

We warn readers: although Hackintosh is a completely harmless entertainment that will not break your computer and is unlikely to spoil any data, all manipulations described in the article are done at your own peril and risk. In addition, you need to be familiar with the computer and know what the bootloader, OS kernel and hard drive partitioning scheme are. Well, when you master Hackintosh perfectly, do not agree under any circumstances if your friends ask you to install it on your PC, otherwise you will have to, as an honest person, get married in order to keep this miracle working.

⇡ Installing Snow Leopard from iATKOS 10.6.3 v2

The simplest and most universal option is to install Mac OS X with a specially modified distribution. Since the release of Snow Leopard, such hacker builds have given way to a more elegant solution - installation from a copy of a proprietary disk using a separate boot CD, and this is described below. But users of CPUs from AMD or Intel Atom cannot do without assembly, because... the original Mac OS X kernel (which our English-speaking friends call the vanilla kernel) only supports Intel processors with Core architecture and older, and the build allows you to immediately select the “patched” version during the installation process. And after you have entered the world of Hackintosh through assembly and gained some knowledge, you can create a clean installation, the components of which you have complete control over.

iATKOS 10.6.3 v2 is one of the latest builds released, and despite the rather old version of the OS (Snow Leopard has already been updated to 10.6.8), all the “hacker” software on it is quite modern. After downloading the image (we won’t tell you where from), write it to a disc. Boot from the iATKOS disk and wait until the “hacker” bootloader works and the OS starts.

This process takes several minutes, but if it suddenly takes longer than reasonable limits or displays an error message, it means that something went wrong.

In this case, you need to boot from the DVD again, but on the bootloader screen with the green chameleon, press F8, highlight the optical drive, enter “-x” from the keyboard and press Enter. This is the so-called safe mode, but if you have no luck with it, then you need to boot with the “-v” argument, which will allow you to observe the boot log. At the moment where the process is stuck or the phrase Kernel Panic appears, you can take a photo of the screen and then in a calm atmosphere try to understand what is happening using thematic sites, Google and advice from experienced “hackers”.

The appearance of a window with a choice of language indicates that the download was successful and your system is able to run Mac OS X. We recommend, if possible, choosing the Shakespeare language, since most instructions and problem analyzes on the Internet are written in it.

Scroll through the pages of the installer until the disk selection window appears.

Open the Utilities section in the menu and launch Disk Utility. If you have given a blank disk to Hackintosh, then using this program you need to “partition” it (the Partition tab). To install on a partition adjacent to Windows, the partition is simply formatted in the HFS+ file system (Erase tab). For reliability, it is better to choose the HFS+ Journaled option, and most users will not need the Case Sensitive option.

Once the HDD is prepared for installation, you can close Disk Utility and specify the partition in the installer window. And now the important point is the choice of drivers and settings that allow Mac OS X to fully work on your hardware. The list is opened by the Customize button. All users are advised to look into the Bootloader thread and select the Chameleon v2 RC5 option instead of the default option. Owners of AMD and Intel Atom processors must select a modified kernel in the Patches, Modified Kernels section.

You should not select any “drivers” for the graphics adapter in the Drivers, VGA section. It is better to check the box next to the Graphics Enabler option in the Bootloader Options section - in this case, the bootloader itself will try to activate hardware acceleration. Be that as it may, the OS almost always boots in 2D mode, and if the Graphics Enabler method did not work, then you can try your luck with individual “drivers”. By the way, these are not drivers, but only injectors that allow drivers built into Mac OS X to work with unfamiliar video cards, which is why they are put in quotes.

Select the appropriate package for your network card in the Drivers, Network section - there is a good collection there. For a laptop, the contents of the Drivers, Laptop Hardware section will be useful. You can take some driver for CPU power-saving functions from the Drivers, Main Hardware, CPU Power Management section. The “native” kernel extension called AppleIntelCPUPowerManagement.kext, which carries this function, is prudently blocked in the assembly, because it is only suitable for Intel processors, and even then not for all, and in case of errors it does not allow the system to boot.

Do not check Sleep Enabler in the Patches section - if you need sleep mode, then after updating the OS this extension will still have to be replaced.

The Language Translations section came to iATKOS from the official distribution and contains OS interface localization packages, including Russian.

It is advisable to write down a list of the options that you have chosen, in case the newly installed OS does not start and you have to look for the culprit. Once your selection is made, you can click OK and then Install. Let's go!

At the end of the installation, the computer will reboot. You can remove the iATKOS disk and boot from the hard drive that we've loaded Mac OS X onto. While the Chameleon boot loader is counting down the seconds until the OS starts by default, you can press any key and see a list of partitions that can boot from. If at first there was already Windows on the hard drive, then it starts from a service partition called System Reserved, or directly from its root partition, if the service partition is missing for some reason.

But we can't wait to see Mac OS, right? In this case, we just wait, and if the options were selected correctly during installation, a registration window will appear on the screen, and if the Graphics Enabler option worked, a welcome video will also be shown.

What to do if the operating system gets stuck at the loading stage or displays an error message? The first tip in this case is to boot up and view the log. To do this, you need to stop the bootloader while it counts down the time until the OS starts, select the partition with it, enter the “-v” argument and press Enter. Based on the messages on the screen, you can find the component causing the failure. Then you can try to boot into safe mode with the “-x” argument, and if this is successful, then it is likely that the problem is some kind of kext - a driver or device injector that you checked in the Customize menu of the installation disk, and it needs to be replaced. How to work with kexts is described in a special section of the article.

⇡ Installing Snow Leopard from a proprietary distribution

A “Hackintosh” can also be created using the “native” image of Snow Leopard, which you can even buy to ease your conscience. At the same time, all the software that makes Mac OS X compatible with PC is recorded on a separate disk. But this method is only suitable for owners of Intel CPUs, because both the distribution disk and the copy of the OS that will be installed from it use the original kernel without AMD support. In addition, the unmodified Snow Leopard installer will not allow you to roll the system onto a hard drive partitioned using MBR, and only supports the GUID partitioning scheme. Therefore, the disk with the MBR will have to be repartitioned.

If Windows is already installed there and you are not ready to say goodbye to the most popular operating system forever, then there is a non-obvious solution: using Disk Utility, first partition the disk with a GUID, create its own partition for “windows” and install Windows, and then on the second partition - Snow Leopard. The key word here is Disk Utility. This program, which, as you already know, also runs from the Mac OS X installation disk, creates a hybrid partition with synchronized GUID and MBR. And the MBR is required to install Windows.

So, first we need an iBoot boot disk image and a MultiBeast driver package - the latest versions of both are posted on the website www.tonymacx86.com/viewforum.php?f=125 (registration is required to download). We burn the iBoot ISO image to a disc and boot from it. When a window appears asking you to select a partition to boot, you need to replace iBoot in the drive with the “native” distribution with Mac OS X, press F5, highlight the DVD and press Enter.

The further procedure is completely similar to what is written about assembling iATKOS, only in the Customize menu there are no “left-handed” drivers, but only standard Snow Leopard packages - interface localizations, fonts, etc.

But once the installation is complete, you won’t be able to boot directly from the hard drive, because... the copy of the OS is pristine and no different from what is on real Macs. Therefore, you need to boot from the iBoot disk again and select the partition with Snow Leopad.

If an error occurs, you already know what to do: boot with the “-v” argument and carry out diagnostics, then try to start the OS in safe mode with the “-x” argument. The tonymacx86 site also recommends the PCIRootUID=1 argument, which can be combined with "-x" and "-v".

If Mac OS X showed a registration window, then it’s time to accustom it to the PC. You need to launch MultiBeast from the archive that we downloaded in advance, and scroll through all the installer pages right down to the component selection menu. Here, all users must check the EasyBeast Install item - which specifies the installation of a minimum set of kexts. To enable support for specific hardware, you should look at the individual branches of the list and select the necessary extensions. At the end of the procedure, the computer will reboot and you can safely boot from the HDD.

In addition to kexts, the Chimera bootloader will be installed on the disk, and if Windows was previously installed, it will be loaded by selecting the appropriate partition.

⇡ Installation of Lion

Here's the tastiest thing - the latest version of Mac OS X. So far only Intel users can appreciate it. At the time of writing, Apple has not yet released the source code for the Lion kernel, which means there are no modified kernels. But most kexts written for Snow Leopard work with Lion.

To install Lion, we will need a working Snow Leopard version no lower than 10.6.6, a free partition on a 5 GB hard drive to accommodate the installer files, the Lion distribution (available for $29.99 in the App Store and you know where for free), xMove utility and the already familiar MultiBeast package.

The Install Mac OS X Lion program is launched directly from the running operating system, and as the partition for installation you need to select exactly the one from which Snow Leopard is running, which will not affect the OS in any way. Once the files are copied, you can agree to reboot and log back into Snow Leopard.

Now it's up to the xMove utility. After launching it, you need to mark the empty partition that we prepared in advance for Lion, and xMove will transfer the files unpacked by the Install Mac OS X Lion program there. If Snow Leopard is installed using the iBoot + MultiBeast method, then just boot from the hard drive and select the partition with “Lion” in the Chimera bootloader menu. If iATKOS or another solution was used for installation, but the bootloader and kexts are also not the latest, then you will have to boot from the iBoot disk. The further procedure completely repeats the process of installing Snow Leopard from a proprietary distribution. Moreover, as a target, you can select a partition with an already running Mac OS X, and then it will be updated painlessly.

⇡ Installing and removing kexts

How can I remove a problematic driver, injector, or add support for devices that did not start after the initial installation? The storage for kexts (kernel extensions) in Mac OS X is the /System/Library/Extensions directory, and they are loaded from a single cache at /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext, where the OS puts only the necessary extensions. But modern Hackintosh loaders (the already familiar Chameleon and Chimera) can load additional kexts from the /Extra/Extensions directory, and from them their own small cache /Extra/Extensions.mkext is formed. MultiBeast and iATKOS use exactly this scheme, only in the latter case the /Extra directory is hidden. Showing hidden files is enabled using a command in the terminal.

defaults write com.apple.finder AppleShowAllFiles TRUE
killall finder

To install many kexts, just copy them to /Extra/Extensions. But some will not be able to resolve dependencies (there are no necessary extensions in the /S/L/C/c/S/Extensions.mlext cache), and you will have to create a single cache of all “native” and “third-party” extensions in the /Extra directory. which the OS will not be able to remake. The following command does this:

sudo kextcache -m /Extra/Extensions.mkext -- /System/Library/Extensions /Extra/Extensions

Before these files in /Extra/Extensions need to be assigned the necessary permissions. Teams:

sudo chown -R 0:0 /Extra/Extensions

sudo chmod -R 755 /Extra/Extensions

And one more nuance: if, even with the correct permissions, the kext is not included in the cache and is not loaded, you need to open it using the Show Package Contents option in the file’s context menu and view the Info.plist file in the Contents directory. This is an xml file, and at the end, before the closing tags there should be the following entry:

OSBundleRequired

Root

Otherwise, it needs to be added or changed.

Things are a little different in Mac OS X 10.7. Lion uses a different cache format - prelinked kernel. By default, Chameleon does not read it and scans the entire contents of the /Extra/Extensions directory, which slows down loading. The only thing that can be done for now is to create a shared cache in the system directory /System/Library/Caches/com.apple.kext.caches/Startup. Team:

sudo kextcache -c /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache -v -t -K /mach_kernel -- /System/Library/Extensions /Extra/Extensions

And in order for the bootloader to pick up kernelcache, you need to use the “UseKernelCache=Yes” argument at startup. But unlike the contents of /Extra, this file is subject to the operating system, and from time to time it will update it, forgetting, of course, about our “hacker” extensions. A solution to the problem is to move the kexts from /Extra to the /System/Library/Extensions directory and give them the necessary permissions with the commands:

sudo chown -R 0:0 /System/Library/Extensions

sudo chmod -R 755 /System/Library/Extensions

⇡ OS update

Hackintosh can be updated from the Apple server using the built-in Software Update utility. But at the same time, you need to be prepared for the fact that after the update some kexts will stop working or start causing crashes and you will have to find a replacement for them. Fortunately, developers of popular extensions quickly respond to the release of new versions of Mac OS X. In addition, after the update, you need to rebuild the kext cache by first loading the system with the “-f” argument. Users of AMD processors should make sure that the latest version of the modified kernel is available before updating the OS, or you can leave the old one.

⇡ Bootloader setup

The operation of the Chameleon bootloader or its analogues is controlled by the file com.apple.boot.plist in the /Extra folder. It can be modified manually, but there is also a special GUI utility - Lizard, which can be downloaded from darwinx86.net/software/darwinx86_software.html. It is advisable to enter the screen resolution, loading arguments (for example, the aforementioned “UseKernelCache=Yes”) into the configuration, and for owners of “non-standard” processors the name of the modified kernel file. In iATKOS this is the custom file (look, it is in the root partition of the disk). Also check Graphics Injection if this option helped you enable 3D acceleration.

The 32bit Compatibility Mode option will force the kernel to boot in 32-bit mode, which may be necessary for some kexts. At the same time, support for large amounts of RAM is maintained, and applications can run in 64-bit mode regardless of the kernel. A similar command line argument is “-x32”.

The argument list may also contain special options for individual kexts.

The program automatically opens the file /Extra/com.apple.boot.plist, and if it is missing, it will create it when you try to save changes. This is exactly what will happen with iATKOS, because... This assembly by default stores the bootloader configuration in the system file of the same name /Library/Preferences/SystemConfiguration/com.apple.boot.plist. This is not correct, so it is best to clear the system file after creating the file in /Extra, leaving only those lines that are shown in the screenshot.

Another Lizard feature is editing the /Extra/SMBIOS.plist file. It contains information about the computer model and installed hardware and helps to present the computer as some kind of Macintosh in the System Information program.

⇡ Peripherals from Apple

A question that worries many people, but they don’t want to spend money on an experiment: do Mac devices like Apple Cinema Display, Magic Mouse and Magic Trackpad work with Hackintosh? So, the monitor is compatible with any video card equipped with DisplayPort (DP Mini or a full-length version of the port with an adapter is suitable), and both the light sensor and brightness adjustment in System Preferences work. The mouse and touchpad require a Bluetooth USB adapter - some work right out of the box without any additional kexts, and the connection process is again no different from that on real Macs.

⇡ Free swimming

www.kexts.com - a database of original and third-party kexts for Mac OS X.

Instead of an epigraph:
We say driver - we mean kext

To be honest, today will not be a complete, so to speak, step. But this will make it no less useful. And it was intended as an answer to some questions appearing in the comments. I will try to give some useful tips and allay some fears. Or not dispel. In general, let's see what happens :)

The previous 3 parts can be found either by tag.

Allaying Fears

Based on my experience, I can assume that the greatest nervous tension occurs in the event of some incorrect user action, as a result of which a seemingly normally working system stops loading. What to do in this case?

  1. First of all, you need to remember - what was installed that made the system stop loading?
  2. Try booting into safe mode. To do this, before loading, instead of any switches (-v or -s), enter help and read carefully. In my opinion, the -F switches (ignoring the configuration file) and our main trump card -x (booting in safe mode using standard drivers) can help.
  3. If you succeed in booting into safe mode, then manually remove what was installed. Usually all kexts are located in /System/Library/Extensions/ .
  4. Read the InsanelyMac forum and find detailed instructions there for installing drivers for your video card, network adapter or any other equipment. Believe me, in 95% of cases you will know exactly where to get everything and how to install it. Or you will find out that there is no driver for this hardware.

And now the most important thing:

If the system breaks down, but was working before - don’t be afraid to format the partition and reinstall a more or less “working” Leopard configuration. Usually all problems arise, and they can be solved at the very beginning, until the moment of constant use of Hackintosh.

This is normal practice, there is nothing so surprising here. Most people I talked to reinstalled the system at least 15-30 times in the beginning. So please be patient.

Removing video drivers

I made this point separately because I have a little surprise for you. In the description of the already outdated one (10.5.2) there is a separate paragraph dedicated to this problem:

If you have problems on reboot with video (blue or black screen):
All you have to do is just press F8 at Darwin's prompt and then type -s (single user mode) then at root type mount -uw / and /movevideodrivers then it will be prompted to move video drivers by class (nvidia ; ati ; or intel gma) voila! type yes to confirm or enter to skip !

What does the following mean in translation:

If you have problems with video (blue or black screen): all you need to do is boot with the -s key (in single user mode), then run 2 commands from root: mount -uw / and /movevideodrivers. After that you will be asked which video driver you have (nvidia, ati or intel gma). Answer yes to confirm and press enter to skip. Voila! The system is loading.

Everything would be fine, but this script was available only for Kalyway and no other assembly. I've been looking for it for a very long time and finally have prepared a surprise for you. Before installing video drivers, download and put them in / (root partition) - yes, yes, this is the same movevideodrivers. After this, you will need to go to the terminal and give it permissions to launch. If I remember correctly, the following command will suffice:

sudo chmod +x /movevideodrivers

That's it, after this you can experiment with the video. And now I will tell you how.

Pacifist is our everything

The utility is designed to work with .pkg packages, .iso and .dmg images, a bunch of archives like .zip, .tar, .tar.gz, etc. In addition, it can also open installation disks (and in our case, any disk with any assembly). In addition, it can only extract certain packages from archives. This is exactly the function we need.

The program is paid (shareware) and costs $20, but in the free mode you just have to wait a certain time before being able to work (20 seconds). But the functionality doesn’t seem to be reduced.

So, after we run the utility and select “Open Apple install disk” Pacifist will scan it and show the entire list of packages in the form of a directory tree. The structure of the tree will approximately correspond to a similar menu when selecting . Using this structure (or by searching in the application), you can find the driver we are interested in, and by clicking on the Install button, install it into the system. You will have to enter your password.

After this, we reboot - if the screen is black/blue again - use /movevideodrivers and try to install the appropriate driver again.

Installing kexts

To begin with, I’ll note that kexts (kernel extension) are an extension of the system kernel. In Windows, a similar concept is drivers. It happens that on the same InsanelyMac, as an addition to the post, there is a working kext for launching wifi, video or network adapter. You can install it manually (but this involves some headaches), or you can use the Kext Helper B7 utility (usually included with any build).

After this, you will need to reboot and check whether the driver was installed correctly. But you need to delete kexts manually from the /System/Library/Extensions/ folder.

Some solutions are already supplied as a .pkg - a regular installer. Therefore, installing the driver will be even easier.

Happy installation 😉

READ ME PLEASE

If you CANNOT unzip files onto a flash drive, please step away from the keyboard and urgently read the book “Computer for Dummies: A Detailed Guide on How to Use a PC”!!!

1. All files are uploaded to MEGA. Those who are having problems with it have re-uploaded it to the torrent in the comments.
2. Please don't ask me about installing Macs on laptops. I beg you. Please. This is a very hemorrhoidal process. Install Ubuntu and connect the Mac theme. You will get the same experience
3. I rarely answer on Habré, write to VK for all questions.

This manual/guide/etc was written for those who are too lazy to piece together this or that information about installing a Mac on a PC, everything is clear and straightforward.

To begin with, before actually installing the system itself on a PC, we need to decide whether we need it or not, since the system itself is very specific in terms of installation and configuration, unless, of course, you have an Apple device. There is no point in explaining that deploying a system that was not originally planned for desktop PCs is a complex matter and all this can take from 2 to N hours, depending on the compatibility of the hardware.

Now, let’s figure out what Hackintosh is: the word “hackintosh” was formed from the merger of two words “Macintosh” and “Hack”, which essentially means “hacked Mac”, although there is nothing to do with “hacking”.

In this guide, we will look at creating an installation flash drive from Windows (since this is the most popular system among “beginner hackintoshers”), installing the system on a blank disk, kernel extensions for your hardware and, in fact, installing and configuring the bootloader (it is at this point that many and problems arise)

CPU: Intel Core i5 4460 3.2 GHz (Haswell)
Memory: 16 GB Crucial Ballistix Sport
Graphics: MSI GeForce GTX 760 2048MB
Motherboard: Gigabyte GA-H81-S2V (UEFI Bios)



I would also like to point out that in this article we work with NVidia video cards and UEFI BIOS.

Well, let's go.

Step 1. Iron assessment and analysis

Yes, despite the fact that Hackintosh runs in one way or another on almost any configuration, it always does it differently. Therefore, it’s worth immediately analyzing our hardware.

Processors

So, let's start with the fact that on machines with AMD processors the system WILL NOT work(it is very difficult to call the dying state of agony in which she will arrive “work”). Yes, in fact, you can install a custom kernel, reflash it, and so on, but there’s no point in reinventing the wheel if it breaks anyway. The system runs without problems on Intel processors, starting with Core i3 (we are talking specifically about macOS Sierra 10.12; previous releases can also run on Core 2 Duo and Pentium processors). In my case, the i5 4460 stone fell out (4 cores, 4 threads, turbo boost up to 3.4 GHz).

ACHTUNG 2

Problems are observed on socket 2011-3 processors, in particular on the X99 chipset. Usually it appears due to too many bells and whistles on the motherboard.

Video cards

Next, let's decide on the graphics. If you use integrated Intel graphics (in my case it's HD4600), then most likely you will need a separate graphics factory (although they can start natively).

List of supported Intel graphics cores

Intel HD 3000
Intel HD 4000
Intel HD 4600 (laptops)
Intel HD 5000


Radeons (AMD) start, but again with a bang. For example, new cards (RX-4**), as well as the well-known R9 380 or R9 380x, can simply display the loading in a black screen.

List of exactly supported AMD cards

Radeon HD 4000 series
Radeon HD 5000 series
Radeon HD 6000 series (Preferably 6600 and 6800)
Radeon HD 7000 series (Preferably 7700, 7800, and 7900)
Radeon R9 200 series (R9 290 does not start)
Radeon R9 300 series (There may be problems with the R9 380. I haven’t personally tested it, but judging by the reviews on Reddit with these cards There is problems)


In this manual we will not consider the AMD graphics plant, since it all comes down to framebuffer patches and Device ID changes in the bootloader (which is individual for everyone). More information about AMD cards here: click (English).

The situation is completely different with cards from NVidia. Almost everyone gets turned on, with the exception of some especially gifted ones. Problems are observed in the 10th episode, but, most likely, they will not appear soon. Everything is already normal. On GTX cards, the graphics start up with half a kick, GT cards are also not lagging behind, although there are some exceptions.

List of working NVidia cards

GeForce 7000 series
GeForce 8000 series
GeForce 9000 series
GeForce 200 series
GeForce 400 series
GeForce 500 series
GeForce 600 series
GeForce 700 series
GeForce 900 series
UPD 14.05 Geforce GTX 1000 Series


I am more than sure that you will find your card in the list.

Network controller

I think there is no need to chew on how you can identify your network card...

Newby guide

Open the Task Manager → performance tab → Ethernet (Windows 10), there will be a network connection in big black letters.

By the way, you can also look in the BIOS


One way or another, we will not dwell on this in detail. In any case, you will have to install a network card, so I will simply provide a list of supported network cards.

Network cards

Intel Gigabit

5 Series – 82578LM/82578LC/82578DM/82578DC
6 and 7 Series – 82579LM/82579V
8 and 9 Series – I217LM/I217V/I218LM/I218V/I218LM2/I218V2/I218LM3

Realtek

RTL8111, 8168, 8101E, 8102E, 8131E, 8169, 8110SC, 8169SC
RTL8111/8168 B/C/D/E/F/G
RTL8101E/8102E/8102E/8103E/8103E/8103E/8401E/8105E/8402/8106E/8106EUS
RTL8105/8111E/8111F/8136/8168E/8168F

Atheros

AR8121, 8113, 8114, 8131, 8151, 8161, 8171, 8132,8151, 8152, 8162, 8172
AR816x, AR817x supported

Broadcom

BCM5722, 5752, 5754, 5754M, 5755, 5755M, 5761, 5761e, 57780, 57781, 57785,5784M, 5787, 5787M, 5906, 5906M, 57788, 5784M

Marvell

88E8035, 88E8036, 88E8038, 88E8039, 88E8056, 88E8001

Killer

E2200

Memory

There are no restrictions. The system runs on two gigabytes. Recommended 4. Author recommends 8.

Actually, we sorted out the hardware. If at this stage you have not changed your mind, move on.

Step 2. Make a bootable USB flash drive and deploy the installer to it

So, here we come to practice. Let me remind you that we do all this from Windows. I’ll say right away that we will not use images from the root tracker, which are so ardently recommended by people for whom everything works with hackintosh “up to 18”. First, we need the BDU (BootDiskUtiliy) utility.

You will need a flash drive >8 GB. Any.

1. Launch the utility
2. Destination disk → select our flash drive
3. Format disk

Now we wait. The flash drive will be formatted in Apple HFS and split into two partitions, one of which will have the bootloader installed (CLOVER), and the second will remain blank so that the installer can be deployed there.

After the completed manipulations we get approximately the following picture:


Next, you need to deploy the installer to the second partition. We also do this through the BDU utility. However, the question here is where to get the image from. There are two options: take a ready-made one, already unpacked, or personally get it from Install Mac OS Sierra.app from the AppStore. Since the second method requires quite a lot of time, and searching for this .app itself takes a very long time, we will use the first. Craftsmen have already prepared ready-made HFS files for this utility and extracted them from the .app for us. All we need is to download it (the image weighs almost 5 gigs, so you can just put it on download). Actually, download macOS 10.12 Sierra from here.

Downloaded.

1. We extract from the archive HFS Partition File (HFS+), a file with the extension .hfs.
2. In the BDU “Destination disk” utility window, select Part 2 of our broken flash drive.
3. Open “Restore partiton”.
4. Search and select our *.hfs file. Please note that it must be no larger than PART 2 partition.
5. We are waiting for it to be unpacked.
That's it, the installer on the flash drive is unpacked and ready to go.

Now we will need some files for your system. I have collected everything I need in this archive. Later I will explain what and why.

You will also need this kext, download it too: click. We unpack the folder from the archive into the root of the section with Clover, and the kext into the folder that we unpacked. That's it, it's ready. The flash drive is made. Let's move on.

Step 3: Install macOS Sierra on Intel PC

We check that the flash drive is inserted into the 2.0 port. Reboot, go into BIOS. Let me remind you that our BIOS is UEFI. Disable virtualization (Intel Virtualization). Set boot priority (BOOT) to our flash drive. Make sure that it will boot in UEFI mode. Save and apply the settings, reboot. We get to the Clover menu.

Clover is a Hackintosh downloader and installer.

Press the down arrow until we get to the Options menu. Press Enter. All we need here is this line:

We write the following into it:

Kext-dev-mode=1 rootless=0 -v npci=0x2000 nv_disable=1
Let me explain what each of these arguments does:

kext-dev-mode=1 is a necessary arg, without which the hack will not run. Allows you to load kexts into the system (Initially, FakeSMC.kext).
rootless=0 - disables SIP (System Integrity Protection). Required arg.
-v - “Verbose mode”. Instead of a beautiful apple, we will see a “console” loading so that we can identify an error if one appears.
npci=0x2000 (or 0x3000, depending on the PCI-e version) - optional. We prevent the download from stopping at the PCI scanning stage. You don't have to register it.
nv_disable=1 - optional. To avoid loading artifacts and other garbage, disable the graphical shell. We load in native graphics mode in Orthodox 144p resolution. You don't have to register it.

Apply the arguments by pressing Enter. Select Boot Mac OS Sierra from OS X Base System. And so, the birthplace download began. Let's look at some errors right away: still waiting for root device - the IDE controller does not have time to connect.

Fix

We reconnect the flash drive to another 2.0 port, boot with the following arguments:
kext-dev-mode=1 rootless=0 cpus=1 npci=0x2000 -v UseKernelCache=No


Missing Bluetooth controller transport - the video card did not turn on, or FakeSMC.kext was not connected. Check that there is FakeSMC.kext in the kexts/other folder. Bluetooth has nothing to do with it.

Fix

We load like this:

Kext-dev-mode=1 rootless=0 -v npci=0x2000
Or like this:
kext-dev-mode=1 rootless=0 -v -x npci=0x2000


If such errors still remain, then we try to load like this:

Kext-dev-mode=1 rootless=0 -v npci=0x3000 darkwake=0 nv_disable=1 cpus=1
In other cases, only Google will help, although these fixes should solve these problems.

We are waiting. At some points it may freeze. If it freezes for more than a minute, reboot. Should help in some cases.

And here we are, actually, in the installer. Select a language and click on the arrow. The language pack will load (it may freeze for a minute). Now open Utilities>Disk Utility, we need to format the disk for macOS. Select the desired disk and click “Erase”. For convenience, we call the new disk “Macintosh HD”. Format and close Disk Utility. Next, select the disk on which we will install the system (in our case, Macintosh HD), and install it.

Installation takes from 15 to 30 minutes, it all depends on the speed of writing to the disk. After installation, the system will prompt us to set up an Internet connection - skip it, we’ll do this later. We create a user. Done, we're in the system. Or rather, in her stump. Nothing is working for us yet. If you reboot the machine, it will be impossible to get into the system (due to the absence of a bootloader).

Fix

If the computer still reboots or switches off, you can choose to boot from a flash drive, then select “Boot macOS Sierra from Macintosh HD” in the clover menu, not forgetting to write boot arguments in the options menu.


Let's move on...

Step 4. Basic system setup and installation of kexts

So, here we are in the system. While she can do little, we won’t go online, the graphics don’t work, and in general everything looks very bad. This needs to be fixed.

Let's figure out what kexts are.

Kext(Kernel Extension) - kernel extensions that run this or that equipment that is incompatible with the original Mac (For example, where in the aimak can we find a network card from Realtek or a sound card?). These are what we need now.

First, we need the PostInstall folder, which you unpacked into the CLOVER partition on the bootable USB flash drive. From there, we first need the Kext Utility, which allows us to install kexts on the system. We launch it, enter the user’s password, wait until we see the inscription “All done”.


We install the kext on the network card (Network folder, sorted into folders for each network card), simply drag it into the program window. We wait until the “All done” message appears. Next, go to the CLOVER section of our flash drive, then to kexts, then to Other. Copy FakeSMC.kext from there to any place (Better in the same PostInstall), then install it in the same way as the kext on the network card. You will also need a USB 3.0 kext. It was in the Legacy_13.2_EHC1.kext.zip archive, which you extracted in PostInstall. Let's install it.

Done, we set up the Internet, USB and allowed the system to boot at all (FakeSMC.kext imitates the System Management Control chip, which is present only on Apple motherboards. Without this kext, the system simply will not start).

Now let's install the bootloader. Go to the PostInstall folder → Clover_v2.3k_r3949. There is a *.pkg file, open it.


Click continue, read the information about the bootloader (I’m lying, click continue too). Next, in the lower left corner, click “Configure”.

For UEFI boot, set the following settings:


We'll talk about legacy loading later, since everything is a little more complicated there and you'll have to patch DSDT.
Click “Install”. Let's go through the bootloader installation process.
Done, the bootloader is installed.

Step 5. Bootloader setup

After installation, we will receive a clean, unconfigured Clover bootloader, which needs to be slightly configured. Open Clover Configurator (in the future I do not recommend using this program for point-by-point editing of the bootloader config).

First, we need to get to the EFI partition with the bootloader. In the left menu, click Mount EFI. Next, click Check partition, a table of all partitions will appear. The partition we need should be on the same partition as Apple_HFS, it appears as EFI EFI. Click Mount partition. In the list, select the disk we need (For example, disk0s1). Please note that there is a bug where all sections are not visible. Roll the mouse wheel so you can scroll between sections and select the one you need.

Next, click Open Partition. It will open a “folder” with the desired section. Go to EFI>CLOVER. Copy plist.config to the PostInstall folder for convenience. Also, just in case, copy it somewhere else, since the one we just copied will be edited. And one more for backup. Copy and open plist.config.

We see something like this:

ACPI - We don’t touch the fixes, we drop (DropOEM) our video card (DropOEM_DSM works when two DSDT patches are encountered. Therefore, we leave the original autopatch method as the bootloader, and disable ours, if one appears).
Go to the BOOT section.

So this is where we need to dig in. We set the arguments ourselves, depending on the system.

-v (verbose) - the already familiar “text” boot mode. It is better not to enable it, but to register it manually if necessary.
arch - architecture. In my case x86_64
npci is a key already known to us. We post if necessary. I recommend doing the first download without it, but in Verbose mode.
darkwake - responsible for sleep mode and hibernation. Has 7 modes. If the dream does not start by changing hibernatemode in the terminal, then I recommend using trial and error to find the desired darkwake mode.
cpus=1 - launch using only one core. I don't recommend choosing.
nvda_drv=1 - activation of the NVidia web driver, which we will install a little later. Choose if you have nVidia.
nv_disable=1 - disables non-video graphics and runs on the native Mac driver. It’s better not to choose, but to register manually if necessary.
kext-dev-mode=1 and rootless=0 have already been explained earlier.

Let's go to the right subsection.
Default Boot Volume - the partition from which the disk selection to boot will begin by default. By default LastBootedVolume (last selected partition).
Legacy - Legacy Boot for older versions of Windows and Linux. It very much depends on the hardware and the design of the BIOS, so several algorithms have been developed:
LegacyBiosDefault - for those UEFI BIOSes that have the LegacyBios protocol.
PBRTest, PBR - PBR Boot options, this is just overkill. In my case PBR works.
XMPDetection=YES is an important parameter. Fixes the amount of RAM, slots, dies, frequency and number of channels.
DefaultLoader - if there are several loaders on the partition, select the default one. Must not be empty!
Timeout - time before automatic boot.
Fast - a parameter that skips the selection of a partition and immediately proceeds to downloading.
-1 (Timeout -1) - disable autoboot.

We skip the CPU section, the bootloader itself will pick up the necessary values. Devices is also better to skip if you have nothing to fake. Disable Drivers - disable unnecessary drivers at boot. GUI - customizing the appearance of the bootloader. I think there is no need to explain anything here, there are no special parameters here. Screen resolution, language and menu theme. It's simple. Graphics - graphics settings and injections.

Do not touch the Inject NVidia parameter! There will be artifacts at launch. It is designed to run older GT line cards

Kernel and Kext Patches - patches and kernel customization. By default, Apple RTC is selected. It's better not to touch. SMBIOS is the juice, customization and counterfeit of the poppy.

To configure factory information, click on the magic wand icon. Next, select iMac (if PC) or MacBook (if laptop).

ACHTUNG 3

You can also look among older configs, such as MacMini or Mac Pro. Your task is to choose the one that is most similar to your hardware.


Don't add anything to Memory and Slots. These are purely cosmetic parameters that clover picks up at the loading stage. Incorrectly set parameters can cause conflicts.

WARNING: Nvidia video cards without policy-kext edits only work on iMac13.1 and iMac14.2 Mac models.

In AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/info.plist we correct Config1 to none here:


It should work now.

Ready. We don’t touch anything else, we’ve done the basic settings. We save our file. Now copy it to the CLOVER folder of the EFI partition, log in, and replace it. Let me remind you that before this you should have made a backup.

Step 6. Install the graphics driver and reboot for the first time

We're almost there. Now all that remains is to start the video card. The PostInstall folder contains the WebDriver*.pkg package. Open it and install it. Then he asks us to reboot. Let's reboot.

Now let's make sure that we are not booting from a flash drive, but from hard drive in UEFI mode. Select Boot macOS Sierra from Macintosh HD. Let's start.

Note

I recommend using the -v switch for the first run, so that if something goes wrong, you can immediately identify the error. If the bootloader is broken and you cannot get into the system, then boot from the flash drive, enter the necessary keys in the options and boot the system into Verbose mode.


Done, here we are in the system. In the picture I showed approximately what the axis will look like after all the settings. Pay attention to how the system understood your Mac, as well as the processor frequency.

A sure sign that the Nvidia driver is working will be its logo on the taskbar. I turned it off, by the way, because it gets in the way, but you can access the invisibility control panel through “System Settings...”. We can check the Internet through Safari. USB 3.0 is trite by plugging a flash drive into a 3.0 port.

Additionally

- Sound

When it comes to sound, the situation is different. If you have an external sound card, then simply download the drivers for it from the manufacturer’s website (analog devices, such as mixing consoles, do not require drivers and start up immediately). For a built-in sound card, use one of these kexts:

Regarding AppleHDA

The following conditions must be met for it to work:

  1. Availability of vanilla (pure) kext AppleHDA.kext in the system.
  2. The presence of the HDEF section in your DSDT (or the clover fix FixHDA_8000->True)
  3. Specify the layout in DSDT (or in the config.plist of the clover Devices->Audio->Inject->1,2,28...etc. Select from those specified for your codec above)
  4. Put away ALL sound patches (if they were in your config.plist) from the KextsToPatch section
  5. Remove DummyHDA.kext (if used)
  6. If you used VoodooHDA.kext, delete it. Also delete AppleHDADisabler.kext and rebuild the cache.
  7. For Intel HDMI 4000/4600, a clover fix is ​​required: UseIntelHDMI->True

Actually, that's all. Afterwards we get macOS Sierra ready to use.

UPD from 05/14/2017

- In the comments, kind people re-uploaded the file from mega to torrent. This is due to the fact that many people have problems downloading a file from mega. To be honest, I didn’t know that Mega has a limit on download speed (I use a premium account). Also, please write all questions to me on VK, but check the comments first. There is a chance that your problem has already been solved there. Again, I am not responsible for any risk this may cause to your computer. I also want to make one point that the article is presented solely for educational purposes. The very fact of installing a hackintosh on a PC is a gross violation of Apple's policy regarding their system, which is punishable by law. The author does not encourage using MacOS on non-Apple computers and does not encourage changing the system's source code.
- The end

Tags: Add tags

READ ME PLEASE

If you CANNOT unzip files onto a flash drive, please step away from the keyboard and urgently read the book “Computer for Dummies: A Detailed Guide on How to Use a PC”!!!

1. All files are uploaded to MEGA. Those who are having problems with it have re-uploaded it to the torrent in the comments.
2. Please don't ask me about installing Macs on laptops. I beg you. Please. This is a very hemorrhoidal process. Install Ubuntu and connect the Mac theme. You will get the same experience
3. I rarely answer on Habré, write to VK for all questions.

This manual/guide/etc was written for those who are too lazy to piece together this or that information about installing a Mac on a PC, everything is clear and straightforward.

To begin with, before actually installing the system itself on a PC, we need to decide whether we need it or not, since the system itself is very specific in terms of installation and configuration, unless, of course, you have an Apple device. There is no point in explaining that deploying a system that was not originally planned for desktop PCs is a complex matter and all this can take from 2 to N hours, depending on the compatibility of the hardware.

Now, let’s figure out what Hackintosh is: the word “hackintosh” was formed from the merger of two words “Macintosh” and “Hack”, which essentially means “hacked Mac”, although there is nothing to do with “hacking”.

In this guide, we will look at creating an installation flash drive from Windows (since this is the most popular system among “beginner hackintoshers”), installing the system on a blank disk, kernel extensions for your hardware and, in fact, installing and configuring the bootloader (it is at this point that many and problems arise)

CPU: Intel Core i5 4460 3.2 GHz (Haswell)
Memory: 16 GB Crucial Ballistix Sport
Graphics: MSI GeForce GTX 760 2048MB
Motherboard: Gigabyte GA-H81-S2V (UEFI Bios)



I would also like to point out that in this article we work with NVidia video cards and UEFI BIOS.

Well, let's go.

Step 1. Iron assessment and analysis

Yes, despite the fact that Hackintosh runs in one way or another on almost any configuration, it always does it differently. Therefore, it’s worth immediately analyzing our hardware.

Processors

So, let's start with the fact that on machines with AMD processors the system WILL NOT work(it is very difficult to call the dying state of agony in which she will arrive “work”). Yes, in fact, you can install a custom kernel, reflash it, and so on, but there’s no point in reinventing the wheel if it breaks anyway. The system runs without problems on Intel processors, starting with Core i3 (we are talking specifically about macOS Sierra 10.12; previous releases can also run on Core 2 Duo and Pentium processors). In my case, the i5 4460 stone fell out (4 cores, 4 threads, turbo boost up to 3.4 GHz).

ACHTUNG 2

Problems are observed on socket 2011-3 processors, in particular on the X99 chipset. Usually it appears due to too many bells and whistles on the motherboard.

Video cards

Next, let's decide on the graphics. If you use integrated Intel graphics (in my case it's HD4600), then most likely you will need a separate graphics factory (although they can start natively).

List of supported Intel graphics cores

Intel HD 3000
Intel HD 4000
Intel HD 4600 (laptops)
Intel HD 5000


Radeons (AMD) start, but again with a bang. For example, new cards (RX-4**), as well as the well-known R9 380 or R9 380x, can simply display the loading in a black screen.

List of exactly supported AMD cards

Radeon HD 4000 series
Radeon HD 5000 series
Radeon HD 6000 series (Preferably 6600 and 6800)
Radeon HD 7000 series (Preferably 7700, 7800, and 7900)
Radeon R9 200 series (R9 290 does not start)
Radeon R9 300 series (There may be problems with the R9 380. I haven’t personally tested it, but judging by the reviews on Reddit with these cards There is problems)


In this manual we will not consider the AMD graphics plant, since it all comes down to framebuffer patches and Device ID changes in the bootloader (which is individual for everyone). More information about AMD cards here: click (English).

The situation is completely different with cards from NVidia. Almost everyone gets turned on, with the exception of some especially gifted ones. Problems are observed in the 10th episode, but, most likely, they will not appear soon. Everything is already normal. On GTX cards, the graphics start up with half a kick, GT cards are also not lagging behind, although there are some exceptions.

List of working NVidia cards

GeForce 7000 series
GeForce 8000 series
GeForce 9000 series
GeForce 200 series
GeForce 400 series
GeForce 500 series
GeForce 600 series
GeForce 700 series
GeForce 900 series
UPD 14.05 Geforce GTX 1000 Series


I am more than sure that you will find your card in the list.

Network controller

I think there is no need to chew on how you can identify your network card...

Newby guide

Open the Task Manager → performance tab → Ethernet (Windows 10), there will be a network connection in big black letters.

By the way, you can also look in the BIOS


One way or another, we will not dwell on this in detail. In any case, you will have to install a network card, so I will simply provide a list of supported network cards.

Network cards

Intel Gigabit

5 Series – 82578LM/82578LC/82578DM/82578DC
6 and 7 Series – 82579LM/82579V
8 and 9 Series – I217LM/I217V/I218LM/I218V/I218LM2/I218V2/I218LM3

Realtek

RTL8111, 8168, 8101E, 8102E, 8131E, 8169, 8110SC, 8169SC
RTL8111/8168 B/C/D/E/F/G
RTL8101E/8102E/8102E/8103E/8103E/8103E/8401E/8105E/8402/8106E/8106EUS
RTL8105/8111E/8111F/8136/8168E/8168F

Atheros

AR8121, 8113, 8114, 8131, 8151, 8161, 8171, 8132,8151, 8152, 8162, 8172
AR816x, AR817x supported

Broadcom

BCM5722, 5752, 5754, 5754M, 5755, 5755M, 5761, 5761e, 57780, 57781, 57785,5784M, 5787, 5787M, 5906, 5906M, 57788, 5784M

Marvell

88E8035, 88E8036, 88E8038, 88E8039, 88E8056, 88E8001

Killer

E2200

Memory

There are no restrictions. The system runs on two gigabytes. Recommended 4. Author recommends 8.

Actually, we sorted out the hardware. If at this stage you have not changed your mind, move on.

Step 2. Make a bootable USB flash drive and deploy the installer to it

So, here we come to practice. Let me remind you that we do all this from Windows. I’ll say right away that we will not use images from the root tracker, which are so ardently recommended by people for whom everything works with hackintosh “up to 18”. First, we need the BDU (BootDiskUtiliy) utility.

You will need a flash drive >8 GB. Any.

1. Launch the utility
2. Destination disk → select our flash drive
3. Format disk

Now we wait. The flash drive will be formatted in Apple HFS and split into two partitions, one of which will have the bootloader installed (CLOVER), and the second will remain blank so that the installer can be deployed there.

After the completed manipulations we get approximately the following picture:


Next, you need to deploy the installer to the second partition. We also do this through the BDU utility. However, the question here is where to get the image from. There are two options: take a ready-made one, already unpacked, or personally get it from Install Mac OS Sierra.app from the AppStore. Since the second method requires quite a lot of time, and searching for this .app itself takes a very long time, we will use the first. Craftsmen have already prepared ready-made HFS files for this utility and extracted them from the .app for us. All we need is to download it (the image weighs almost 5 gigs, so you can just put it on download). Actually, download macOS 10.12 Sierra from here.

Downloaded.

1. We extract from the archive HFS Partition File (HFS+), a file with the extension .hfs.
2. In the BDU “Destination disk” utility window, select Part 2 of our broken flash drive.
3. Open “Restore partiton”.
4. Search and select our *.hfs file. Please note that it must be no larger than PART 2 partition.
5. We are waiting for it to be unpacked.
That's it, the installer on the flash drive is unpacked and ready to go.

Now we will need some files for your system. I have collected everything I need in this archive. Later I will explain what and why.

You will also need this kext, download it too: click. We unpack the folder from the archive into the root of the section with Clover, and the kext into the folder that we unpacked. That's it, it's ready. The flash drive is made. Let's move on.

Step 3: Install macOS Sierra on Intel PC

We check that the flash drive is inserted into the 2.0 port. Reboot, go into BIOS. Let me remind you that our BIOS is UEFI. Disable virtualization (Intel Virtualization). Set boot priority (BOOT) to our flash drive. Make sure that it will boot in UEFI mode. Save and apply the settings, reboot. We get to the Clover menu.

Clover is a Hackintosh downloader and installer.

Press the down arrow until we get to the Options menu. Press Enter. All we need here is this line:

We write the following into it:

Kext-dev-mode=1 rootless=0 -v npci=0x2000 nv_disable=1
Let me explain what each of these arguments does:

kext-dev-mode=1 is a necessary arg, without which the hack will not run. Allows you to load kexts into the system (Initially, FakeSMC.kext).
rootless=0 - disables SIP (System Integrity Protection). Required arg.
-v - “Verbose mode”. Instead of a beautiful apple, we will see a “console” loading so that we can identify an error if one appears.
npci=0x2000 (or 0x3000, depending on the PCI-e version) - optional. We prevent the download from stopping at the PCI scanning stage. You don't have to register it.
nv_disable=1 - optional. To avoid loading artifacts and other garbage, disable the graphical shell. We load in native graphics mode in Orthodox 144p resolution. You don't have to register it.

Apply the arguments by pressing Enter. Select Boot Mac OS Sierra from OS X Base System. And so, the birthplace download began. Let's look at some errors right away: still waiting for root device - the IDE controller does not have time to connect.

Fix

We reconnect the flash drive to another 2.0 port, boot with the following arguments:
kext-dev-mode=1 rootless=0 cpus=1 npci=0x2000 -v UseKernelCache=No


Missing Bluetooth controller transport - the video card did not turn on, or FakeSMC.kext was not connected. Check that there is FakeSMC.kext in the kexts/other folder. Bluetooth has nothing to do with it.

Fix

We load like this:

Kext-dev-mode=1 rootless=0 -v npci=0x2000
Or like this:
kext-dev-mode=1 rootless=0 -v -x npci=0x2000


If such errors still remain, then we try to load like this:

Kext-dev-mode=1 rootless=0 -v npci=0x3000 darkwake=0 nv_disable=1 cpus=1
In other cases, only Google will help, although these fixes should solve these problems.

We are waiting. At some points it may freeze. If it freezes for more than a minute, reboot. Should help in some cases.

And here we are, actually, in the installer. Select a language and click on the arrow. The language pack will load (it may freeze for a minute). Now open Utilities>Disk Utility, we need to format the disk for macOS. Select the desired disk and click “Erase”. For convenience, we call the new disk “Macintosh HD”. Format and close Disk Utility. Next, select the disk on which we will install the system (in our case, Macintosh HD), and install it.

Installation takes from 15 to 30 minutes, it all depends on the speed of writing to the disk. After installation, the system will prompt us to set up an Internet connection - skip it, we’ll do this later. We create a user. Done, we're in the system. Or rather, in her stump. Nothing is working for us yet. If you reboot the machine, it will be impossible to get into the system (due to the absence of a bootloader).

Fix

If the computer still reboots or switches off, you can choose to boot from a flash drive, then select “Boot macOS Sierra from Macintosh HD” in the clover menu, not forgetting to write boot arguments in the options menu.


Let's move on...

Step 4. Basic system setup and installation of kexts

So, here we are in the system. While she can do little, we won’t go online, the graphics don’t work, and in general everything looks very bad. This needs to be fixed.

Let's figure out what kexts are.

Kext(Kernel Extension) - kernel extensions that run this or that equipment that is incompatible with the original Mac (For example, where in the aimak can we find a network card from Realtek or a sound card?). These are what we need now.

First, we need the PostInstall folder, which you unpacked into the CLOVER partition on the bootable USB flash drive. From there, we first need the Kext Utility, which allows us to install kexts on the system. We launch it, enter the user’s password, wait until we see the inscription “All done”.


We install the kext on the network card (Network folder, sorted into folders for each network card), simply drag it into the program window. We wait until the “All done” message appears. Next, go to the CLOVER section of our flash drive, then to kexts, then to Other. Copy FakeSMC.kext from there to any place (Better in the same PostInstall), then install it in the same way as the kext on the network card. You will also need a USB 3.0 kext. It was in the Legacy_13.2_EHC1.kext.zip archive, which you extracted in PostInstall. Let's install it.

Done, we set up the Internet, USB and allowed the system to boot at all (FakeSMC.kext imitates the System Management Control chip, which is present only on Apple motherboards. Without this kext, the system simply will not start).

Now let's install the bootloader. Go to the PostInstall folder → Clover_v2.3k_r3949. There is a *.pkg file, open it.


Click continue, read the information about the bootloader (I’m lying, click continue too). Next, in the lower left corner, click “Configure”.

For UEFI boot, set the following settings:


We'll talk about legacy loading later, since everything is a little more complicated there and you'll have to patch DSDT.
Click “Install”. Let's go through the bootloader installation process.
Done, the bootloader is installed.

Step 5. Bootloader setup

After installation, we will receive a clean, unconfigured Clover bootloader, which needs to be slightly configured. Open Clover Configurator (in the future I do not recommend using this program for point-by-point editing of the bootloader config).

First, we need to get to the EFI partition with the bootloader. In the left menu, click Mount EFI. Next, click Check partition, a table of all partitions will appear. The partition we need should be on the same partition as Apple_HFS, it appears as EFI EFI. Click Mount partition. In the list, select the disk we need (For example, disk0s1). Please note that there is a bug where all sections are not visible. Roll the mouse wheel so you can scroll between sections and select the one you need.

Next, click Open Partition. It will open a “folder” with the desired section. Go to EFI>CLOVER. Copy plist.config to the PostInstall folder for convenience. Also, just in case, copy it somewhere else, since the one we just copied will be edited. And one more for backup. Copy and open plist.config.

We see something like this:

ACPI - We don’t touch the fixes, we drop (DropOEM) our video card (DropOEM_DSM works when two DSDT patches are encountered. Therefore, we leave the original autopatch method as the bootloader, and disable ours, if one appears).
Go to the BOOT section.

So this is where we need to dig in. We set the arguments ourselves, depending on the system.

-v (verbose) - the already familiar “text” boot mode. It is better not to enable it, but to register it manually if necessary.
arch - architecture. In my case x86_64
npci is a key already known to us. We post if necessary. I recommend doing the first download without it, but in Verbose mode.
darkwake - responsible for sleep mode and hibernation. Has 7 modes. If the dream does not start by changing hibernatemode in the terminal, then I recommend using trial and error to find the desired darkwake mode.
cpus=1 - launch using only one core. I don't recommend choosing.
nvda_drv=1 - activation of the NVidia web driver, which we will install a little later. Choose if you have nVidia.
nv_disable=1 - disables non-video graphics and runs on the native Mac driver. It’s better not to choose, but to register manually if necessary.
kext-dev-mode=1 and rootless=0 have already been explained earlier.

Let's go to the right subsection.
Default Boot Volume - the partition from which the disk selection to boot will begin by default. By default LastBootedVolume (last selected partition).
Legacy - Legacy Boot for older versions of Windows and Linux. It very much depends on the hardware and the design of the BIOS, so several algorithms have been developed:
LegacyBiosDefault - for those UEFI BIOSes that have the LegacyBios protocol.
PBRTest, PBR - PBR Boot options, this is just overkill. In my case PBR works.
XMPDetection=YES is an important parameter. Fixes the amount of RAM, slots, dies, frequency and number of channels.
DefaultLoader - if there are several loaders on the partition, select the default one. Must not be empty!
Timeout - time before automatic boot.
Fast - a parameter that skips the selection of a partition and immediately proceeds to downloading.
-1 (Timeout -1) - disable autoboot.

We skip the CPU section, the bootloader itself will pick up the necessary values. Devices is also better to skip if you have nothing to fake. Disable Drivers - disable unnecessary drivers at boot. GUI - customizing the appearance of the bootloader. I think there is no need to explain anything here, there are no special parameters here. Screen resolution, language and menu theme. It's simple. Graphics - graphics settings and injections.

Do not touch the Inject NVidia parameter! There will be artifacts at launch. It is designed to run older GT line cards

Kernel and Kext Patches - patches and kernel customization. By default, Apple RTC is selected. It's better not to touch. SMBIOS is the juice, customization and counterfeit of the poppy.

To configure factory information, click on the magic wand icon. Next, select iMac (if PC) or MacBook (if laptop).

ACHTUNG 3

You can also look among older configs, such as MacMini or Mac Pro. Your task is to choose the one that is most similar to your hardware.


Don't add anything to Memory and Slots. These are purely cosmetic parameters that clover picks up at the loading stage. Incorrectly set parameters can cause conflicts.

WARNING: Nvidia video cards without policy-kext edits only work on iMac13.1 and iMac14.2 Mac models.

In AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/info.plist we correct Config1 to none here:


It should work now.

Ready. We don’t touch anything else, we’ve done the basic settings. We save our file. Now copy it to the CLOVER folder of the EFI partition, log in, and replace it. Let me remind you that before this you should have made a backup.

Step 6. Install the graphics driver and reboot for the first time

We're almost there. Now all that remains is to start the video card. The PostInstall folder contains the WebDriver*.pkg package. Open it and install it. Then he asks us to reboot. Let's reboot.

Now let's make sure that we are not booting from a flash drive, but from hard drive in UEFI mode. Select Boot macOS Sierra from Macintosh HD. Let's start.

Note

I recommend using the -v switch for the first run, so that if something goes wrong, you can immediately identify the error. If the bootloader is broken and you cannot get into the system, then boot from the flash drive, enter the necessary keys in the options and boot the system into Verbose mode.


Done, here we are in the system. In the picture I showed approximately what the axis will look like after all the settings. Pay attention to how the system understood your Mac, as well as the processor frequency.

A sure sign that the Nvidia driver is working will be its logo on the taskbar. I turned it off, by the way, because it gets in the way, but you can access the invisibility control panel through “System Settings...”. We can check the Internet through Safari. USB 3.0 is trite by plugging a flash drive into a 3.0 port.

Additionally

- Sound

When it comes to sound, the situation is different. If you have an external sound card, then simply download the drivers for it from the manufacturer’s website (analog devices, such as mixing consoles, do not require drivers and start up immediately). For a built-in sound card, use one of these kexts:

Regarding AppleHDA

The following conditions must be met for it to work:

  1. Availability of vanilla (pure) kext AppleHDA.kext in the system.
  2. The presence of the HDEF section in your DSDT (or the clover fix FixHDA_8000->True)
  3. Specify the layout in DSDT (or in the config.plist of the clover Devices->Audio->Inject->1,2,28...etc. Select from those specified for your codec above)
  4. Put away ALL sound patches (if they were in your config.plist) from the KextsToPatch section
  5. Remove DummyHDA.kext (if used)
  6. If you used VoodooHDA.kext, delete it. Also delete AppleHDADisabler.kext and rebuild the cache.
  7. For Intel HDMI 4000/4600, a clover fix is ​​required: UseIntelHDMI->True

Actually, that's all. Afterwards we get macOS Sierra ready to use.

UPD from 05/14/2017

- In the comments, kind people re-uploaded the file from mega to torrent. This is due to the fact that many people have problems downloading a file from mega. To be honest, I didn’t know that Mega has a limit on download speed (I use a premium account). Also, please write all questions to me on VK, but check the comments first. There is a chance that your problem has already been solved there. Again, I am not responsible for any risk this may cause to your computer. I also want to make one point that the article is presented solely for educational purposes. The very fact of installing a hackintosh on a PC is a gross violation of Apple's policy regarding their system, which is punishable by law. The author does not encourage using MacOS on non-Apple computers and does not encourage changing the system's source code.
- The end

Tags:

  • apple
  • hackintosh
  • mac
  • hackintosh
Add tags

Kext, or kernel extensions (from English Kernel Extensions) is a system component, from many of which the OS structure is formed.
All kexts should be installed from the Release folder if there is no need for debugging.
The latest versions are suitable for all OS versions starting from 10.6.3, unless otherwise indicated in the description of the kext itself.
The extensions listed here are somehow written or rewritten to work from EFI, so installing them on the system is not advisable, and sometimes even harmful.

General kexts.

VirtualSMC (vit9696) - github.com

The latest SMC emulator with support for second generation SMC. . Monitoring includes sensors on the CPU, laptop battery, auto brightness on laptops with hardware support, desktop fans. To monitor CPU frequencies, an installed Intel® Power Gadget is required.

Monitoring programs: iStat Menus or HWMonitorSMC2
The project is being developed but can already be used.

FakeSMC and sensors (Slice2009 / Vector sigma) -

A must-have kext for hackintosh. Tells the AppleSMC kext the keys as if the SMC has worked. Without it, the system will not start. Plugins allow you to scan information from motherboard sensors. The included HWMonitor displays the readings of these sensors.


FakeSMC
and sensors (Kozlek / RehabMan v6.26) - bitbucket.org

A slightly older but no less current version of the monitor.

Contains a slightly larger but at the same time slightly older chip base.


FakePCIID
and plugins (RehabMan) - bitbucket.org

Starting from Haswell, any application or service can check the PCI-ID, regardless of what was reported at the initialization stage.
FakePCIID intercepts these requests, and returns the value that we specified via FakeID in clover, or otherwise.
Plugins for FakePCIID have very versatile functionality, all work is described.


ACPIBatteryManager
(RehabMan) - bitbucket.org

Driver for displaying battery status on laptops.
Additional DSDT patches are often required, which are described in detail.


ACPIDebug
(RehabMan) - bitbucket.org

Those who know what kind of kext this is don’t need to explain its work.
And for those who don’t know, they don’t need it.
Instructions - bitbucket.org.


BrcmPatchRAM
(the-darkvoid, RehabMan) - bitbucket.org

Loads Bluetooth firmware for Broadcom chips.
Instructions - bitbucket.org.

Lilu and plugins.


Lilu
(vit9696) - github.com

Patcher for kexts and processes. It does not affect anything on its own, it only works with the corresponding plugins, which are listed below.
Some plugins are not listed here because... they come out frequently, and some are very narrowly focused.
All known plugins - github.com.
Information - github.com.


AppleALC
(vit9696) - github.com

Kext for dynamic patching AppleHDA. All you need is the right Layout, and the sound works.
Table of supported codecs and layouts - github.com.
Instructions - github.com

WhateverGreen v1.2.5 = (Shiki + IntelGraphicsFixup + NvidiaGraphicsFixup)

WhateverGreen(vit9696) - github.com

Produces patches required for AMD GPUs.
Starts a dream, creates a framebuffer on the go, loads 8000+ cards without Intel HD.
Not a kext, but a fairy tale for Radeon!
Instructions - github.com.

Shiki //

User-level patcher for DRM-protected connection.
That is, it allows you to play movies/clips in iTunes, and similar operations.

IntelGraphicsFixup(lvs1974) //

Multifaceted patch for Intel HD graphics Ivy and higher.
Solves apple crashing at boot, disables PAVP for Haswell graphics, and so on.


HibernationFixup
(lvs1974) - github.com

Patch allowing the use of 3 and 25 sleep mods.
You can set the sleep mode with the command: sudo pmset -a hibernationmode 25
More information about sleep mods can be found in discussions on applelife.ru and insanelymac.com
Project page -github.com


IntelGraphicsDMVTFixup
(BarbaraPalvin) - github.com

Patch to change the required amount of allocated memory (DMVT) for Intel HD graphics Broadwell and higher.
Recommended to be used only if you are unable to change your DMVT.
You also need to disable the patches that allowed you to bypass this and rebuild the cache.
Project page - github.com.


NightShiftUnlocker
(Austere-J) - github.com

Allows the use of NightShift (10.12.4+) on SMBios that do not support it (2011 and lower).
Project page - github.com.

Network kexts.


AtherosE2200
v.2.2.2 (Meize) - vk.com insanelymac.com

Supports all Atheros models, upload panic has been fixed.


Broadcom NetXtreme 57xx
started using the Fake ID method.

FakePCIID is indicated above, the package includes a plugin for BCM57XX_as_BCM57765.


IntelMausiEthernet
v.2.4.0 (Meize) - vk.com insanelymac.com

Supports all Intel models.


Marvell Yukon 88E8056
v.1.0.0 - vk.com insanelymac.com

Supports Yukon 88E8xxx. In any case, they are already extinct.


RealtekRTL8111
v.2.2.2 (Meize) - vk.com insanelymac.com

Sound kexts.


AppleALC
(vit9696) - github.com

Plugin for Lilu, which is listed above in a separate category of kexts. Information about him is there.

Patched AppleHDA(Mirone) -

At the moment, this method is obsolete, and all platforms are already present in AppleALC.
It is unlikely that we will rework this article. Switch to either AppleALC or VoodooHDA.


VoodooHDA
(Voodoo Team) -

Universal sound driver. Helps start almost any sound.
For example, HDMI audio on Nvidia Pascal, or ALC269 without going through a bunch of layouts.
Remember - voodoo gives great sound after excellent tuning!
Instructions - applelife.ru.


CodecCom
mander(TimeWalker, RehabMan) - bitbucket.org

Codec Commander is used as a solution that allows you to run an external EAPD amplifier on HDA codecs of laptops and some ITX boards. Usually such amplifiers sit on the node of speakers or headphones. When the codec loses power, the EAPD amplifier also loses power and it is impossible to turn it back on without additional help. Also, using hda-verb, you can manage the state of nodes through the terminal or an AML table. Setup instructions will be available later on the site, including very interesting PDFs.
Information - bitbucket.com.

USB kexts.


USBInjectAll
(RehabMan) - bitbucket.org

For the "lazy" USB factory on 10.11+. //USB factory via IOKit injection will be on our website soon.
Explanation - bitbucket.org.


XHCIMux
(RehabMan) - included in the FakePCIID kit listed above.

Enables virtual EHCI bus (USB2.0) on Intel controllers of the Haswell generation and higher.


GenericUSBXHCI
(Zenith432, RehabMan) - bitbucket.org

Factory of most XHCI controllers for 10.10 and below.
It also works on 10.11+, in the case of a third-party controller.
Instructions -

Loading...Loading...