Kexts for 10.10. EFIStudio, Kext Helper b7, OSx86Tools. Basic programs for Hackintosh and Mac

« cake» - transcription of the English abbreviation kext from kernel extension, i.e. kernel extension. Practically implemented in the form of kexts all drivers for Mac OS X. When the system boots, the Mac OS kernel picks up all kexts from a special cache, and this cache, in turn, is periodically created based on the system folder for kernel extensions. Misunderstanding of the mechanism Mac work OS X with kexts is fraught with big problems with loading the computer.

Traditionally, we will answer the skeptical question “why is this necessary?”. If you do not have a hackintosh and if you do not plan to connect any additional third-party equipment to your Mac (exotic scanners, mice and keyboards, modems, etc.), then there really is no need.

The fact is that most Mac drivers are implemented in the form special installation packages(with .pkg or .mpkg extensions), which require only a password to be run, and scripts will do the rest.

There are two ways to install kexts - manual and automatic. Today we will show you the automatic one because it is much easier, and our article is addressed to both Mac users and Hackintosh owners. And the questions manual installation drivers into the system, we will consider in our "hackintosh" cycle, because. this requires some additional knowledge from the user.

For automating the installation of kexts, we should say a big thank you to our compatriot by name cvad, who created a program for the hackintosh community Kext utility. She knows absolutely everything related to kexts: installation, fixing access rights, packing the cache. The user will be required to enter a password and wait for some time until all service procedures are completed.

With all these talents, the utility from cVad has only one button in the interface. There are several ways to work with this program:

1) Dragging a kext onto the program icon: in this case, the full set of procedures for installing the kext into the system will begin.

2) Dragging several kexts to the program icon at once: the utility will install kexts one by one.

3) Launching the utility itself. In this case, it will start checking access rights to already installed kexts and rebuilding the cache.

The possibilities do not end there, it's just that the rest of the program's functions are useful only to owners of hackintosh. We will talk about them in the corresponding series of articles.

When completed, the button Cancel will change its name to Quit. After the reboot, all new devices for which you installed kexts should be recognized by the system.

P.S. A small digression for Snow Leopard users. In the new operating system, the mechanism for working with kexts is complicated by the fact that now there is two architectures for kernel extensions: 32-bit and 64-bit. 32-bit kexts will never want to work in 64-bit system mode. Keep this in mind when downloading and installing.

ATHEROSL1CETHERNET AR813X, AR815X

Kext is suitable for all systems, from 10.7 to the already beloved 10.10.5. Supported network cards from Atheros listed here:

AR8131, AR8132;
AR8151, AR8152;

  • We recommend putting the cake in Clover after installation. Can be installed using Kext Utility or Kext Wizard (prior to 10.10.5);
  • Reboot;
  • Rejoice!

Please note that the location of this network kext in the Clover folder during installation can cause problems.

NULLETHERNET.KEXT (CURRENT VERSION: 2014/R.1016)

This kext provides an opportunity to start AppStore and iCloud even without an Ethernet card and Wi-Fi. It is enough just to install the kext, and inject the dummy device into DSDT (the patch for this is also in the folder), and produce a factory cloud services, as if we have Ethernet, through usb whistles and other equipment.

Install only if you are sure you need it.

VOODOOPS2CONTROLLER.KEXT (VERSION: 2016/R.0616)

Voodoops2controller is a kext that will make the PS2 ports work on a computer, as well as the keyboard and touchpad on a laptop. The thing is indispensable if you do not have ELAN / Synaptic, or you just need to install - just throw this text in SLE or in “/EFI/CLOVER/kexts/10.x”, and enjoy a working keyboard, mouse and trackpad.

If you don't throw VoodooPS2Daemon next to the kext, panic is inevitable in the latest versions from GitHUB. Because this is a utility - you need to run it from the console, and make sure that if you have a version higher than 1.7.4 - that the file is missing
/System/Library/Extensions/AppleACPIPS2Nub.kext
/System/Library/Extensions/ApplePS2Controller.kext
--
If the version is 1.7.8 and above, it is required to be installed next to the VoodooPS2Daemon kext, and its execution in the console.

SYNAPTIC TOUCHPAD (ALL VERSIONS)

This kext will get the best out of your Synaptic touchpad and keyboard.

Installation diagram:


Download the required revision;

ELAN SMARTTOUCHPAD PS2 (ALL VERSIONS)

This kext will ensure that your ELAN touchpad and keyboard will perform at its best.
Installation diagram:
Remove all previous kexts from /S/L/E, /E/C/k/10.x, and other places where kexts might be;
Download the required revision;
Install with Kext Utility or Kext Wizard (before 10.10.5), or put in a clover.
Different kexts for different hardware version (you can see it in AIDA64 on Win):

  • We recommend putting the cake in Clover. Can be installed using Kext Utility or Kext Wizard (prior to 10.10.5);
  • Reboot;
  • If there is no result, fix the rights on the disk, or enable Fix_LAN;

ATHEROS AR81X1, AR81X2 V1.0.2

Kext is suitable for all systems, from 10.6.8 to the already beloved 10.10.5. Supported network cards from Atheros:

AR8131, AR8132;
AR8141, AR8142;
AR8151, AR8152;
AR8161, AR8162;
AR8171, AR8172.

Please note that in versions higher than 10.10.5 it may cause a kernel panic.

GenericUSBXHCI. kext

Kext needed to factory USB 3.0 on non-native motherboards and 99% of laptops. It also fixes bugs in the name when displaying flash drives and external hard drives in the Finder.

Works on versions including Sierra 10.12.6. Haven't tested it in High Sierra.

HFSPlus.efi

Speeds up the loading of the Clover bootloader. The official Clover comes with the VboxHFS.efi driver, which is license-free and understands links, but is slower than Apple's HFSplus.efi.

VoodooHDA

VoodooHDA.kext- sound driver, replacing the original AppleHDA.kext. The easiest way to get sound on a hackintosh.

List of supported sound cards:

2 channels: ALC231, ALC260, ALC262, ALC268, ALC269, ALC272
6 channels: ALC662, ALC663, ALC665
8 channels: ALC1150, ALC861, ALC861-VD-GR, ALC880, ALC882, ALC883, ALC887, ALC888, ALC888T, ALC885, ALC888S, ALC888S-VC, ALC888S-VD, ALC889, ALC892, ALC898

If your VoodooHDA settings are not saved when you log out or after a reboot. I recommend two options:

Option 1:

  • Remove the installed version;
  • Install VoodooHDA-v2.8.2;
  • Reload;
  • Add VoodooHDASettingsLoader.app to startup;
  • Download the latest version of the kext from the developer's site;
  • Install the latest version using Kext Utility;
  • Reboot again and enjoy the great sound and working saving of VoodooHDA settings!

Option 2:

We sort through the versions until we achieve the desired preservation and excellent sound.

Verde.kext

For owners of Radeon video cards, Verde.kext is required, when installing all versions above 10.9.5 without it, the video card will not start, you will see a black screen after the system boots.

RealtekRTL8111

Supports Realtek RTL8111/8168 B/C/D/E/F/G network cards.

Works in all versions from 10.8 to 10.12.6 (Inclusive).

ACPIBatteryManager.kext (RehabMan version: 2016/R0628)

ACPIBatteryManager - a kext for displaying the battery in the system. Often dependent on edits in DSDT.

FakePCIID and plugins (RehabMan)

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

ACPIDebug (RehabMan)

For those who know what a kext is, there is no need to explain how it works.
And for those who don't know, they don't need it.

BrcmPatchRAM (the-darkvoid, RehabMan)

Loads Bluetooth firmware for Broadcom chips.

Kext Lilu and plugins

Kext and process patcher. It does not affect anything by itself, 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.

Kext for AppleHDA dynamic patching. The correct Layout is enough, and the sound works.
Table of supported codecs and layouts - github.com.
Instructions - github.com

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

Produces the necessary patches for AMD GPUs.
Starts sleep, creates a framebuffer "on the fly", loads 8000+ cards without Intel HD.
Not a cake, but a fairy tale for Radeon!
Instructions - github.com.

Patches the CoreDisplay component to allow higher resolutions for Intel HD and Nvidia graphics.
At the time of writing this page, we had no confirmation of its performance.
Instructions - github.com.

A 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 modes can be found in the discussions on applelife.ru and insanelymac.com
Project page - .


IntelGraphicsDMVTFixup
(Barbara Palvin) - github.com

Patch to change the required amount of dedicated memory (DMVT) for Intel HD Graphics Broadwell and above.
Recommended only if you cannot change your DMVT.
You also need to turn off the patches that allowed you to bypass this, and rebuild the cache.
Project page - github.com.

Allows the use of Nvidia graphics on SMBios controlled by AppleGraphicsDevicePolicy.kext.
Project page - .

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

sound cakes

AppleALC(vit9696) - github.com

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

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

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


codeccom
munder(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. Typically, such amplifiers sit on the speaker or headphone node. 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 the nodes through the terminal or aml-table. Setup instructions will be later on the site, including very interesting PDFs.
Information -

At the request of our forum member rewon, decided to find more information about utilities for configuring Hackintosh computers (regular PCs running Mac OS X). Utilities EFIStudio, Kext Helper b7 and OSx86Tools can make life easier for a hackintosh. It should also be remembered that incorrect handling of the above programs can “kill” your Hackint0sh, which will most likely lead to full reinstallation operating system.

This article is my personal experience, in order to explain how the programs work, I collected information from various resources.

1. EFI Studio. Thong for Hackintosh

Read the title of the article and thought that I was crazy, decided to make fun of the hackintosh? No, this is not a mockery of a hackintoshnik. No, everything is correct, the thong is from English. the words strings. The EFI Studio program will allow you to forget about all the "gatherings" and reinstallation of video drivers on the hackintosh.

In general, the program can work with strings not only for video. But I only tested gfx.

I choose display, and then your video (8500GT 256Mb) and press Add device:

A window will appear, click here write to com.apple.boot.plist

After that, close the program and go to Mac OS X disk -> System -> Libraries -> Extensions(in the English version HDD Mac OS X -> System -> Library -> Extensions) and look for Nvinject files with the kext extension and delete them, but just in case, we will not clean the recycle bin yet. After that, we reboot. If everything is good, then you will have the native resolution of the monitor and support for QE and CI.

If you don't get the desired result using EFIStudio, just restore your Nvinject files from the trash and reboot.

About EFIStudio via MacPages

2. Kext Helper b7. Installing kexts "with a half-kick"

To begin with, what is kext, the full name kernel extension- or kext. For those who are more familiar with the world of Windows, this can be explained as drivers (drivers, firewood) of the operating Mac systems OS X. If you're interested in a more technical definition, please at? Wiki.

Often after, even a successful installation, Hackintosh has some “parts of the body” that are not fully, or even completely paralyzed. For example, as it was with me, the Hackintosh did not reboot and did not turn off (pulling out the cord always helped). Kexts are also responsible for the operation of the video processor (video card), audio card, LAN, WiFi and many others. Kernel extension are stored in /System/Library/Extensions.

For Hackintosh users, there are modified kexts that have been adapted for the supported hardware. Where to get them? Google is the best assistant for this. I also advise you to definitely look at the InsanelyMac website. I also collected a small collection of "such good", take a look here, it may come in handy.

It was for the automatic replacement of kexts that the Kext Helper b7 utility was made.

How to use.

1. Suppose you have found a suitable kext. Launch Kext Helper b7, and simply drag and drop the kext into the utility window.

2. Enter the administrator password - the button is activated Easy Install, click it.

3. Wait for confirmation, then restart your Hackintosh.

4. Enjoy (Maybe) working kext, and with it your Hackintosh.

3.OSx86Tools. "Swiss knife" hackintoshnik

You can download the utility from the Google Code page or.

Multifunctional utility for Hackintosh. OSx86Tools does not support Russian, so I will translate all its functions. This is what the whole program looks like.

Now all functions.

Graphics and customization

1. Modify information about your Mac (Hackintosh).

Often the operating system (hackintosh builds) cannot determine your hardware and give out cool things.

2. Enable/Disable Quartz GL.

By default, on Mac OS X, Quartz GL is disabled. If you have a supported graphics card installed (most modern OKs), using this button you can "overclock" to see significant results (requires a reboot) in video / graphics tasks. The command modifies the com.apple.windowserver file and adds QuartzGLEnabled to control Quartz GL. This can be done with the Terminal command:

Enable QuartzGL

Sudo defaults write /Library/Preferences/com.apple.windowserver QuartzGLEnabled -boolean YES

Disable with this command, change YES to NO

Be sure to restart your computer.

System maintenance

3 and 4. Amendment/Correction of access rights (permishinins).

Permission violations, or perms, are a fairly common thing in Mac OS X. Folder and file permissions are used on UNIX, Linux, or BSD operating systems. Sometimes access rights “fly off”, if the matter is serious and the perms are specifically stubborn, this can lead the computer to inoperability. That's why it's important to "repair" permissions, I do this on all my Macintosh's. There are many paid and free utilities for this task. It is best to use the Disk Utility, or the Terminal command:

sudo diskutil repairPermissions /

5. Clearing the extension cache.

6. Clearing the cache of user programs.

7. Cleaning the caches of system programs.

There is a lot to explain what a cache is from ang. cache makes no sense. There are also many programs for clearing caches. One of them is Onyx.

CRON script for automatic maintenance. Used to delete temporary files and logs. By default, the script runs every morning, but since most users turn off their computers, CRON may not work. The script works in three modes: daily - every day, weekly - every week, monthly - every month. You can start CRON manually using the Terminal:

Sudo periodic daily

or optional weekly monthly

9. Prebaiding update.

Prebaiding is a way to reduce the time needed to start executable files in Mach-O format. For example, this is what Mac OS X does in the optimization phase when installing system software or certain applications. Prebaiding is designed to speed up the system by reducing the time it takes to open a program. A similar process happens on Linux, only it's called Prelink.

For fans of the Terminal, the command:

sudo update_prebinding -root / -force

10. "Affecting" the Extensions folder

During this process, the folder where the Kernel Extensions are located is "touched". The correct modification time and access to kexts are set. It is recommended to select this option only once, after installing new kexts. The process can also be started using the Terminal command

Sudo touch /System/Library/Extensions

11. Apply the selected task.

After selecting at least one of the functions, you will need to click "Run Selected Task". You will need to enter an administrator password, so get ready to restart your computer.

Nucleus

12. We make a backup copy of the main kernel.

A very simple procedure. Makes a backup of the main kernel (mach_kernel) of the system. It is advisable to use before installing a new kernel. Follow the instructions of the program, from which disk you are making a copy and where.

13. Install or Repair the Kernel.

One of the safest methods to install the kernel. Follow the instructions of the utility, depending on what you will do to install or restore the kernel.

14. Make a backup copy of the Extensions folder.

The same process as in point 12 takes place, only the Extensions folder is copied. You need to choose where you want to save the folder, the procedure is slow and may take some time.

15. Recovery Extensions.

The opposite process of point 14.

16. Installing kexts.

This function of the program will replace the Kext Helper b7 utility that we discussed above. Full automation when installing kexts.

System and computer

17. Show hardware/manufacturer information.

To use this feature, you need to install the PCI utility, then restart your computer. This is a very useful utility when compiling drivers.

18. Restoring the operating system.

If you get too carried away with kexts or something stops working this feature will restore your computer and return it to a post-install state.

19. Force shutdown the computer.

20. Download and install drivers.

A very useful thing. The function will automatically find "firewood" for your hardware, you just need to select the place where you want to save it. Then the utility will install them itself.

21. Add EFI string/Boot Flag.

I found how to use this function of the program.

First, I’ll tell you why Strings are needed and why they are better than kexts. The reason, as always, is banal - MacOS X updates. When updating, it is not uncommon for kexts to change and be modified, as a result of which you need to constantly monitor the "especially important" ones and make them backups. Strings, on the other hand, are ideal for hackintosh, by setting the correct Strings once you will avoid all these “surprises” when updating.

By clicking on the button 21 we will see a window for working with strings.

You see this “hexadecimal mess” in the bottom area of ​​the program, this is what we will have to work with, but not everything is as difficult as it might seem at first glance. In fact, OSX86Tools is well organized and quite easy to use. Above you can see the icons GFX Strings (Video Strings), Audio Strings (Audio Strings) and Ethernet Strings (Network Interface Strings).

By clicking on GFX Strings, you can install video strings, since the list of supported video cards is large, although by and large only Nvidia cards are represented here.

At the very bottom there is one item that makes OSX86Tools an indispensable tool in the hands of beginners when conquering Strings - Custom GeForce, by selecting this item you can use the convenient menu to create strings for your video card yourself!

Creating our own GFX Strings

For example, let's create strings for a rather exotic Nvidia GeForce 9600GSO video card.

In the first dialog box, you need to select the amount of video card memory, we will “reward” our video card with 256MB VRam.

Let's define the ports of our 9600GSO, let there be two DVIs.

Now the strings for our video card are ready! You need to copy them to your clipboard...

Replace with our Strings the same "porridge" and click Apply changes to com.apple.Boot.plist.

After we reboot and if everything was done correctly, then your video card will start to be correctly detected by the system.

22. Installing EFI / running FDISK

Another useful feature of the program allows the installation of EFI and non-EFI bootloaders Chameleon 1.0.11, PC_EFI v8, or Darwin). It came in handy for me when installing Hackintosh on a netbook, where I used a USB flash drive on which the Mac OS image was installed.

That's all for now! If you have any difficulties, questions and you have something to add, we are waiting for your comments!

Source http://www.lifeoftech.net/?p=4558

Have you decided to install macOS on your computer? Most likely, your Hackintosh will need special drivers or kext. About what you need and where to download them, you will learn from this article.

Installing a Hackintosh for the first time is always very difficult, no matter what they say, you need to have compatible hardware, find an installer (distribution kit) with the MacOS operating system, burn it to a USB flash drive, configure the BIOS, and probably the most important thing is to throw kexts (drivers) into the installer, that the installation was successful and the system worked.

Earlier we told you what is needed to install a hackintosh:

  • Download
  • Create a bootable flash drive

Now let's talk about kext (kernel extension). Kext are drivers, but for macOS. They are necessary in order to make friends with the operating system of your Hackintosh computer components.

You can divide kexts into two types - required and optional. If in the case of optional kext you may not get something from adapters or peripherals (network adapter, keyboard), then in the case of mandatory ones, the system will not work at all without them. Let's start telling you about Hackintosh kexts!

kext

FakeSMC- the most important kext without which no Hackintosh can do (mandatory). The original MAC computers and laptops have a special chip, SMC, that monitors the condition of the components. It doesn’t exist in ordinary computers, therefore, so that macOS does not suspect anything, FakeSMC is needed.
Download FakeSMC

VirtualSMC- analogue of FakeSMC, only from another author. Install either FakeSMC or VirtualSMC. Use both IT IS FORBIDDEN!
Download VirtualSMC

Lilu- patcher of system processes of the system, on the basis of which other kext start video, sound, network work.
Download Lilu

Fake PCIID- replaces the driver identifier, forcing the macOS operating system to work with the current components. FakePCIID includes many kexts that only work with FakePCIID (Intel Audio HDMI, Intel HD Graphics, Broadcom Wi-Fi, Broadcom BCM57XX network).
Download FakePCIID

Null Ethernet-required for those computers and laptops that do not have an Ethernet port.
DownloadNull Ethernet

NullCPUPowerManagement- for Hackintos who install macOS on Intel Pentium.
Download

Net

IntelMausiEthernet- For network adapters from Intel.
Download IntelMausiEthernet (alternative driver from other developers)

AtherosE2200- kext for all models of Atheros adapters.
Download Atheros

Broadcom NetXtreme 57xx- For Broadcom network adapters. Included with kext FakePCIID and only works with it.

Video

Intel HD Graphics- is included in the FakePCIID package and works only with it.

WhateverGreen- kext for video cards Radeon, Nvidia, Intel. Since version 1.2.0, it has combined three kexts IntelGraphicsFixup, NvidiaGraphicsFixup, Shiki.
Download WhateverGreen

Intel Graphics Fixup- Fixes for HD 4000/4400/4600, Sky Lake and Kaby Lake Graphics. Works only with Lilu.
Download IntelGraphicsFixup

Nvidia Graphics Fixup- Fixes for Nvidia graphics. Works only with Lilu.
Download NvidiaGraphicsFixup

Shiki- Necessary if there are problems when playing DRM video, improves the performance of hardware decoding, is optional. Works only with Lilu.
Download Shiki

Sound

AppleALC- sound driver, works only with Lilu.
Download AppleALC

VoodooHDA - universal driver sound, if there are problems with sound, or rather if there is none at all, then you need VooDooHDA.
Download

HDMIAudio- This kext can help you enable sound output through the HDMI port of the video card.
Download

USB

USBInjectAll-starts USB on macOS, works with OS versions 10.11 and newer. In 99.9% of cases it is necessary for installation.
Download USBInjectAll

XHCI-200-series-injector, XHCI-300-series-injector- it is recommended to add this kext at the time of system installation, for systems with SkyLake, Kaby Lake and newer processors. Required to enable USB 3.0 ports.
DownloadXHCI-series-injector

XHCI Mux- to enable EHCI. For Intel processors Haswell and newer. Included with FakePCIID and only works with it.

SATA

SATA-200-series-unsupported.kext and SATA-100-series-unsupported.kext- for motherboards that have problems with SATA.
Download

For Touchpads and Keyboards

ApplePS2SmartTouchpad - for Synaptics, ELAN, FocalTech touchpads.
Download ApplePS2SmartTouchpad

VoodooPS2Controller - for all touchpads and enabling PS/2 interfaces.
Download VoodooPS2Controller

Battery

ACPIBatteryManager.kext - for macOS to display the battery. Download ACPIBatteryManager.kext

I hope you will have enough of those kexts that we have presented here, and you will not need others.

Which Kexts to download for your computer?

Necessarily!

  1. FakeSMC or VirtualSMC
  2. Lilu
  3. WhateverGreen
  4. USBInjectAll

If the motherboard is B or H, 100 or 200 series, download SATA-series-unsupported.

For 200, 300 series motherboards XHCI-series-injector.

Do you still have questions? Write them in the comments, tell us what you did or vice versa!

That's all! Read more useful articles and instructions in the section. Stay with the site, it will be even more interesting!


Talking about installing OS X, it is impossible not to touch on the topic of kexts. In the Apple community, united by the principle of Think Different, they like to call familiar things by other names. And cakes are no exception. What is it? The word “kext” comes from the English kext or kernel extension, i.e. kernel extension. Almost all drivers for OS X are implemented in the form of kexts. They are used to work various devices in OS X. But this is not their only purpose, also, for example, there are kexts responsible for correct shutdown and rebooting the system, switching to sleep mode, for saving energy by the system (Power Management) and many other functions. When the system boots, the mach_kernel kernel loads all kexts from a special cache, and this cache, in turn, is periodically created based on the system folder for kernel extensions - /System/Library/Extensions. It is important to understand that without the right configuration of kexts, normal operation of OS X is not possible. In general, the theme of kexts is much more common in the hacks community than among poppies. Apple does not welcome user intervention in the system at a low level. And delving into "the world's most advanced computer operating system" is the lot of hackintoshniks. This is partly true, since most of the drivers in OS X are either already built-in (the range of poppies is still not very rich and the bundle is generally typical), or implemented as special installation packages (with .pkg or .mpkg extensions), when launched from you only need to enter a password, and the scripts will do the rest. Apple way in everything... Although not always everything is so smooth: sometimes when you connect peripherals from third-party manufacturers, you can just get a file with the .kext extension. So mac drivers are also not immune from working with kexts. If you have a hackintosh, get ready to try dozens of different kexts before you get your computer working exactly the way you want it to.

How it all works



I believe that few of the vinusers thought about how the driver is arranged, where it is installed and how it interacts with the system. Writing and editing drivers at a glance ordinary user seems to be beyond fantasy. Still, most drivers are packaged in exe, equipped with beautiful installers, and so beautiful that the user only has to do how to agree with everyone and reboot. Only in extreme cases, instead of a beautiful wrapper, the user receives a bunch of dlls, which must be installed through the Device Manager. In the case of hackintosh the main problem- this is a total lack of drivers. Moreover, often due to the lack of official support, you will not find a ready-made solution in the afternoon with fire. While it's not all hopeless, sometimes all it takes to get a stubborn network adapter or sound card to work is a little tweaking of the kext. How it's done? First, let's take an inside look at such a typical kext as . It is responsible for the operation of the keyboard, mouse and touchpad. Important cake. What he really is?


For starters, it's not a file. But not exactly a folder. This is a bundle. This, I must say, is a typical Apple phenomenon, in which a folder with a certain extension and structure begins to behave like a file. When double-clicking on a kext on a Mac, we will get a message with a menu with a choice of program to run, on other systems we will only see a folder with the “extension” .kext. To view the offal of a kext on a Mac, right-click on it and select "Show Package Contents". Inside we will see the Contents folder, then MacOS, Plugins, Resourses, Info.plist.


The macOS folder contains an executable binary without an extension. This is the driver itself. It can also be patched (often this is done by scripts), but for this you need to be a specialist of a slightly different level. Let's leave him. In the Resources folder, we will see the language modules with the .lproj extension (reminds nothing, iPhone user?). There is also an Info.plist file. Actually, we need it, since it is precisely its editing that removes many problems. There are also plugins. This folder is not in all kexts, only in “complex” ones. And since this cake covers three completely different devices, each of them has its own kext with a similar structure. Sometimes you can also find the versions.plist file in the kext folder. It contains information about the version of the driver. In particular, it is in AppleIntelCPUPowerManagemant.kext, which is responsible for power management. But we are primarily interested in Info.plist.


By its structure, this is a regular xml, so you can open it both in a regular test editor and in a utility like PlistEditor. The file has certain keys (key) and string values ​​(string). In the vast majority of cases, hackintoshniks are interested in the IOKitPersonalities section, in which the device operation parameters are set, as well as the equipment and manufacturer id. This is a very important point, since very often the driver can physically work with your device, but it simply does not load, because the id of your equipment does not match the id of the devices recorded in Info.plist. Editing id helps to create formally unsupported revisions of wifi adapters, card readers, sound cards and other equipment. In many cases, there are ready-made instructions for editing Info.plist or working with patch scripts. And don't let that confuse you, because there is nothing complicated here. After editing the kext, you need, as always, to restore access rights through Disk Utility and reboot.

Installing kexts



In addition to the rather simple driver structure, Macs have another advantage - it's a fairly simple installation of kexts. In general, installing a kext comes down to three steps:
1. Copying the kext to the /System/Library/Extensions* folder
2. Correction of access rights
3. Removing and reshaping the kernel cache to boot the system

*I’ll make a reservation right away that in the case of a Chameleon type loader, some kexts can be put in /Extra/Extensions

The last point can be bypassed in case of loading with the UseKernelCache=No key. What does this give us? That's right, this makes it possible to quickly change kexts even if the system does not boot and even if you don't have another poppy at hand. So, even drivers in Macos, if necessary, can be installed in a folder way, although it is not recommended. The second point is partially solved by the -f key (the same ApplePS2Controller can work without rights treatment). At least if you have compatible kexts, the -f and -s switches will allow you to boot into the console and fix the permissions. Treatment of rights on the example of FakeSMC has already been considered in a previous article.
In the case of manual installation of kexts on a “live” system, all actions can be done in the Terminal:
sudo -s (get superuser rights)
Password: (enter password)
cp -r -v path/to/kext.kext /System/Library/Extensions/ (copy kext to /S/L/E)
rm -r -v /System/Library/Caches/com.apple.kernelcaches/kernelcache
rm -r -v /System/Library/Extensions/Caches/*
rm -r -v /System/Library/Extensions.mkext (clear the cache)
chown -R root:wheel /System/Library/Extensions/* (set the owner to the root user and wheel group)
chmod -R 755 /System/Library/Extensions/* (treat rights)

diskutil repairpermissions /

To make life easier for OS X users, there are also automatic installation tools. The most famous of them is a simple program. She can do almost everything related to kexts: installation, fixing access rights, repacking the cache. The user will be required to enter a password and wait for some time until all service procedures are completed.

With all these talents, the utility has only one button in the interface (truly the Apple way!). There are several ways to work with this program:

1) Dragging the kext onto the program icon: in this case, the full set of procedures for installing the kext into the system will begin.

2) Dragging several kexts to the program icon at once: the utility will install kexts one by one.

3) Launching the utility itself. In this case, it will start checking access rights to already installed kexts and rebuilding the cache.

While service procedures are in progress, a chamomile indicator is spinning in the program window, and you are invited to contemplate the log of ongoing events. When the Kext Utility is finished, the Cancel button will change its name to Quit. After the reboot, all new devices for which you installed kexts should be recognized by the system.

Manipulating kexts in the console



In addition to the commands for actually installing OS X, there are a number of useful commands for working with already installed kexts. I will bring short list(commands are executed in the console or Terminal with superuser rights).
To view loaded kexts - kextstat
To load the required kext - kextload /System/Library/Extensions/File_name.kext
To unload the kext: sudo kextunload /System/Library/Extensions/Filename.kext

Description of cupcakes



I give a description of only some of the kexts, since there are many of them.

1. Power management

Fakesmc.kext is a System Management Controller (SMC) emulator for OS X with open source. Without this kext, OS X will not run on a PC. In addition to it, the indicator modules ACPISensors.kext and IntelCPUMonitor.kext.

AppleIntelCPUPowerManagement is the standard power management kext for Intel processors. In case of full compatibility, it will work out of the box, in case of incomplete compatibility, either a patch or complete shutdown. Using the original AppleIntelCPUPowerManagement.kext is possible if your processor supports SSE4 instructions and using the edited DSDT (the HPET section needs to be fixed)

NullCPUPowerManagement.kext - disables the original AppleIntelCPUPowerManagement.kext.

OpenHaltRestart.kext - with this kext, shutting down/restarting the computer proceeds correctly (coolers, hard drives, etc. are turned off).

EvOreboot.kext - Similar to OpenHaltRestart.kext

Sleepenabler.kext - Restores sleep functionality if you use NullCPUPowerManagement.kext (AppleIntelCPUPowerManagement.kext is disabled).

EvOSpeedStep.kext - Allows the system to use SpeedStep technology for your processor. With the help of it, when idle, the frequency of your processor decreases, its power consumption and heat dissipation decrease. The frequency itself increases in proportion to the load on the processor. But this kext does not always work, and performance is also reduced when SpeedStep is enabled.

VoodooBattery.kext and AppleSmartBatteryManager.kext are kexts for displaying battery charge on laptops. Before Mac OS X 10.6 they worked completely independently, starting from Mac OS X 10.7, editing the DSDT is required.

2. Video

AppleIntelHDGraphics.kext and AppleIntelHDGraphicsFB.kext - original kexts for Intel HD3000 and higher graphics cards. If you have this particular series of video cards, then replacement most likely will not be required.

GeForce.kext, NVDAGF100Hal.kext, NVDAResman.kext - original kexts for NVidia video cards various series.

nvinject.kext, nvenabler.kext, nvkush.kext, natit.kext and others are NVidia video card injectors, that is, your video card is working correctly (you can set resolution, refresh rate, image rotation)

FramebufferDisabler.kext - Modified Generic disabler.kext to disable "framebuffer" kexts: NVDAResman.kext, ATIFramebuffer.kext, AppleIntelIntegratedFramebuffer.kext which causes kernel panic when booting from the installation disk or already installed system, in which graphics acceleration does not work.

EVOenabler.kext - an injector for any video card, that is, your video card works correctly (you can set resolution, refresh rate, image rotation). To customize this kext for your video card, you need to change the existing values ​​in Info.plist to your own. The default is ATI 4890.

3. Sound

AppleHDA.kext - original audio kext. Compatible with a wide variety of Realtek ALC series cards. Kexts for sound follow the codec, say, ALC269, etc. Often requires a patch for a specific sound card.

VoodooHDA.kext is a kext that allows most audio codecs to work. Not compatible with AppleHDA.kext (causes kernel panic if AppleHDA is not disabled via HDADisabler or removed). The quality of performance is worse than the original AppleHDA and less stable.

4. Network cards and wifi

AttansicL1eEthernet.kext - required for the operation of network cards based on the Attansic L1e chip.

SKGE.kext - some network cards based on the Marvell chip work with it, in particular Marvell Yukon 88E8001.

RealtekRTL81xx.kext - kext for Realtek 81xx/82xx series network cards

IO80211Family.kext - standard kext for wifi adapters. Compatible with cards with Atheros and Broadcom chipsets. For individual series of cards, editing the id in Info.plist may be required.

5.SATA/IDE

IOATAFamily.kext - Adds support for PATA (IDE) devices to most computers. Also allows you to use SATA devices without AHCI enabled on most motherboards with ICH6/7/8/9/10 chipsets.

JMicronATA.kext - required for proper operation of the JMicron ATA (IDE) controller on 4 GB systems random access memory and more.

AHCIPortInjector.kext - adds support for AHCI controllers that are not supported by the standard kext (for ICH9 and previous generations of ICH chipsets).

LegacyAppleAHCIPort.kext - Displays the name of your SATA controller instead of Unknown AHCI controller in System Profiler.

LegacyJMicronATA.kext - Adds IDE support on the JMicron controller to most computers.

ApplePS2Controller.kext and AppleACPIPS2Nub.kext are standard kexts for PS/2 keyboards, mice and touchpads. Often a patch is required to work.
PS2Controller

VoodooPS2Controller.kext - kexts for hopeless PS/2 keyboards, mice and touchpads. Starting with Mac OS X 10.7, development stopped.

post scriptum


All screenshots from the article are taken on a real working system. Kexts and descriptions are taken from the resource.
Alex_G_Sam Alex_G_Sam

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 are not responsible for any possible consequences.

⇡ Introduction

"Hackintosh" is an ironic name for Mac OS X not installed on 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 which are used in personal computers. Since its first modest victories, the so-called OSx86 project has evolved from the entertainment of a handful of enthusiasts into a mass movement with a growing user base. Today, when Apple officially released new version of its operating system, Lion, it's time to tell everyone who does not have a Mac, but has an interest in Mac OS X and a desire to experiment, about Hackintosh.

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

For those who are not indifferent to 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. Modifying OS components is also prohibited, not to mention the use of pirated distributions from "torrents". However, Apple does not do any persecution of the OSx86 community (although it is suing companies that make money on Hackintosh), and protections against unauthorized use are in their infancy, and ways have long been found to overcome them. Mac OS X doesn't even require input license key or online activation. After all, hackintosh people advertise this OS for free and secretly dream of owning 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 offense does not bother you, and technical difficulties only cause healthy excitement, let's try to install Mac OS X on a PC together. In this article, we describe two simple ways install the previous but still popular version of the OS, Snow Leopard (10.6), and one way for the new one, Lion (10.7). It makes no sense to install Leopard (10.5), and even more so Tiger (10.4). If you like the result, then these instructions will be the starting point for self-mastery of Hackintosh. The last section provides links to popular OSx86 community resources where you can learn from other users and find solutions to specific problems.

⇡ Preparation of "Hackintosh"

Actually, why can't Mac OS X just work on a PC and how to overcome these obstacles? The number one reason is that Macs don't use the good old BIOS, but EFI, 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 the Russian hacker under the nickname Netkas). The most popular and rapidly developing bootloader today is Chameleon and its derivatives, such as Chimera.

The second reason is that Mac OS X has a kext (from kernel extension, remember this term) called Dont Steal Mac OS X. It is required to decrypt applications that make up what looks like an operating system to the user (Dock, Finder, loginwindow, SystemUIServer and others), based on the keys from the SMC chip, which is only on real Macs. Well, if "there are no legs, then there are no cartoons." The FakeSMC kext comes to the rescue, which successfully emulates the SMC Device, for which, again, thanks to Netkas. A special bootloader and FakeSMC.kext is 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 Mac OS X for unsupported hardware, or there are built-in drivers, but the system cannot use them because it does not recognize hardware with unfamiliar identifiers.

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

For installation, it is best to use a separate drive with a SATA interface, and turn off the Windows drive, out of harm's way. If it’s not scary to conduct experiments on one HDD with a working OS, then you will have to create a new partition on it using some kind of disk utility (10 GB is enough for a clean Mac OS X). Just keep in mind that during the installation process, the Hackintosh bootloader will be written to the HDD, and then you can only get into Windows through it. Nothing threatens the existing data, but a backup will not hurt either. The disk needs to be connected to the port south bridge motherboard, The SATA controller in the BIOS must be set to AHCI mode. It is recommended to remove overclocking, remove all expansion cards, except for the graphics adapter in the upper PCI-E slot, disable peripherals, in addition to the keyboard and mouse, reduce the amount of RAM 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 virtual machine. There are even ready-made images for various hypervisors on the Web, although their use will not bring experience in creating a Hackintosh.

We warn readers: although the "Hackintosh" is a completely harmless entertainment that will not break the computer and is unlikely to corrupt any data, all the 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 disk layout are. Well, when you master the Hackintosh to perfection, in no case do not agree if your friends ask you to install it on your PC, otherwise you will have to marry, as an honest person, to keep this miracle working.

⇡ Installing Snow Leopard from iATKOS 10.6.3 v2 assembly

The simplest and universal optionMac installation OS X with a specially modified distribution. Since the release of Snow Leopard, such hacker builds have given way to a more elegant solution - installing from a copy of the branded 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 kernel of Mac OS X (which our English-speaking friends call vanilla kernel) only supports Intel processors with Core architecture and older, and the assembly allows you to immediately select the “patched” version during the installation process. And after you have penetrated the world of "Hackintosh" using the assembly and gained knowledge, you can do clean install, whose components 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 will not tell you where), write it to a disc. Boot from the iATKOS disk and wait for the "hacker" bootloader to work and the OS to start.

This process takes several minutes, but if it suddenly drags on beyond reasonable limits or gives an error message, it means that something went wrong.

In this case, you need to boot from the DVD again, but at the bootloader screen with a green chameleon, press F8, highlight the optical disk, type "-x" from the keyboard and press Enter. This is the so-called safe mode, but if you are not lucky 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 got stuck or the phrase appeared Kernel Panic, you can take a photo of the screen and then in a relaxed atmosphere try to understand what is happening with the help of thematic sites, Google and the advice of seasoned "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 that you select the language of Shakespeare if possible, since most instructions and troubleshooting on the Internet are written in it.

Scroll through the pages of the installer until a window appears with a choice of disk.

Open the Utilities section of the menu and launch Disk Utility. If you gave a blank disk to Hackintosh, then with the help of this program you need to “split” it (Partition tab). To install on a partition next 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 the Case Sensitive option will not be needed for most users.

Once the HDD is ready for installation, Disk Utility can be closed and the partition specified in the installer window. And now the fundamental point is the choice of drivers and settings that allow Mac OS X to fully work on your hardware. The list opens with the Customize button. All users are advised to look into the Bootloader branch and select the Chameleon v2 RC5 option over the default option. Owners AMD processors, as well as Intel Atom 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 is almost always loaded in 2D mode, and if the Graphics Enabler method did not work, then you can try your luck with separate “drivers”. By the way, these are not drivers, but only injectors that allow the drivers built into Mac OS X to work with unfamiliar video cards, which is why they are quoted.

Choose the right package for network card in the Drivers, Network section - there is a good collection. For a laptop, the contents of the Drivers, Laptop Hardware section are 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 suitable only 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 got into 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 freshly installed OS does not start and you have to look for the culprit. When the selection is made, you can click OK and then Install. Go!

At the end of the installation, the computer will reboot. You can eject the iATKOS disk and boot from the hard drive we rolled Mac OS X onto. While the Chameleon bootloader is counting down the seconds until the OS starts by default, you can press any key and see a list of partitions from which boot is available. 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, then a welcome video will also be shown.

What to do if the operating system is stuck at the boot stage or gives an error message? The first tip in this case is to boot with log view. 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 succeeds, then it is likely that the matter is in some kind of kext - a device driver or injector that you noted 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

You can also create a Hackintosh using the native Snow Leopard image, which you can even buy to calm your conscience. At the same time, all the software that makes Mac OS X compatible with a PC is recorded on a separate disk. But this method is only suitable for owners of Intel's 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 with MBR, and only supports the GUID partitioning scheme. Therefore, the disk with the MBR will have to be repartitioned.

If Windows is already 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 mark the disk with a GUID, create its own partition for “windows” and install Windows, and then to the second partition - snow leopard. The key word here is Disk Utiliy. This program, which, as you already know, also runs from the Mac OS X installation disc, creates a hybrid layout with GUID and MBR synchronized. And the MBR is required to install Windows.

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

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

That's just after the installation is completed, booting directly from the hard drive will not work, because. a 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 run diagnostics, then try to start the OS in safe mode with the “-x” argument. The tonymacx86 website 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. We need to run MultiBeast from the archive that we downloaded in advance and scroll through all the pages of the installer up to the component selection menu. Here, all users should check the EasyBeast Install item - which sets the installation of a minimum set of kexts. To enable support for specific hardware, you should look into the individual branches of the list and select the necessary extensions. At the end of the procedure, the computer will be restarted, and you can safely boot from the HDD.

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

⇡Lion installation

Here is the most delicious - the latest version of Mac OS X. So far, only Intel users can appreciate it. At the time of this writing, Apple has not yet posted the source of the Lion kernel, which means that there are no modified kernels either. But most kexts written for Snow Leopard work with Lion.

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

The Install Mac OS X Lion program is launched directly from under the running OS, and as the installation partition, you need to select the one from which Snow Leopard is launched, 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 running it, you need to mark the empty partition that we prepared for Lion in advance, 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 it is enough to 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 first freshness, 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 painlessly updated.

⇡ Installing and removing kexts

How do I remove a problematic driver, injector, or add support for devices that won't start after the initial install? The storage of 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 required extensions. But modern Hackintosh loaders (Chameleon and Chimera already familiar to us) can load additional kexts from the /Extra/Extensions directory, and their own small cache /Extra/Extensions.mkext is formed from them. MultiBeast and iATKOS use this scheme, only in the latter case the /Extra directory is hidden. The display of hidden files is enabled using a command in the terminal.

defaults write com.apple.finder AppleShowAllFiles TRUE
killall finder

Many kexts can be installed by copying them to /Extra/Extensions. But at the same time, 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 in the /Extra directory from all "native" and "third-party" extensions, which the OS can't remake. This is done by the following command:

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

Before these files in /Extra/Extensions, you need to assign 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 has not entered the cache and is not loaded, you need to open it using the Show Package Contents option in context menu file and view the Info.plist file in the Contents directory. This is an xml file, and at the end, before the closing tags should be the following entry:

OSBundleRequired

root

Otherwise, it needs to be added or changed.

In Mac OS X 10.7, things are a little different. Lion uses a different cache format, the prelinked kernel. By default, Chameleon does not read it and scans the entire contents of the /Extra/Extensions directory, which slows down the download. The only thing that can be done so far 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 the 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 set the necessary permissions for them 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 some kexts will stop working after the update or start causing failures and you will have to find a replacement for them. Fortunately, the 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 cache of kexts, after booting the system with the “-f” argument. Users of AMD processors, before updating the OS, should make sure that there is a fresh version of the modified kernel, or you can leave the old one.

⇡ Bootloader setup

The operation of the Chameleon bootloader or its analogues is controlled by the com.apple.boot.plist file in the /Extra folder. It can be modified manually, but there is also special utility With GUI- Lizard, which can be downloaded from darwinx86.net/software/darwinx86_software.html . It is desirable to enter the screen resolution, boot arguments (for example, the aforementioned “UseKernelCache=Yes”) into the configuration, and the name of the modified kernel file for owners of “non-standard” processors. 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. Similar argument command line- "-x32".

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

The program automatically opens the /Extra/com.apple.boot.plist file, and if it does not exist, it will create it when you try to save changes. This is exactly what will happen with iATKOS. this assembly by default stores the bootloader configuration in the /Library/Preferences/SystemConfiguration/com.apple.boot.plist system file of the same name. 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 represent the computer as some kind of "Mac" in the System Information program.

⇡ Peripherals from Apple

A question that worries many, but I don’t want to spend money on an experiment: do Mac devices work with Hackintosh - Apple Cinema Display, mouse Magic Mouse and Magic Trackpad. 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 the brightness control in System Preferences work. The mouse and touchpad need a USB Bluetooth adapter - some work right out of the box without any additional kexts, and the connection process is again no different from this on real Macs.

⇡ Free swimming

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