RehabMan
Moderator
- Joined
- May 2, 2012
- Messages
- 181,470
- Motherboard
- Intel DH67BL
- CPU
- i7-2600K
- Graphics
- HD 3000
- Mac
-
- Mobile Phone
-
Overview
The purpose of this guide is to provide a step-by-step guide to installing Mojave, High Sierra, Sierra, El Capitan, or Yosemite on the Haswell Gigabyte BRIX-s. My BRIX is the GB-BXi5H-4200, although I expect the guide will work on other similar models.
Note: This guide is confirmed working with the BRIX Pro GB-BXi5-4570R. Similarly confirmed for the BRIX Pro GB-BXi7-4770R.
Note: This guide will also work with Mavericks (maybe ML 10.8.5), although that is not my primary testing target.
I have added an SSD, and replaced the WiFi with Broadcom BCM94352HMB.
What you need
- Haswell Gigabyte BRIX
- macOS or OS X downloaded from the Mac App Store
- 8GB USB stick
- (optional) Broadcom BCM94352 for native WiFi/BT
Note: You could use a different (supported) WiFi card, but the BCM94352 is the one recommended and supported by this guide.
BIOS settings
The boot menu and BIOS setup can be accessed by mashing the F12 key during BIOS startup.
To start, "Restore Defaults" from the "Save & Exit" tab.
Then change:
- CFG Lock: Disabled (Advanced->CPU Configuratioin)
- Secure Boot Control: Disabled (Security)
Preparing USB and initial Installation
This guide assumes you're starting with nothing on your HDD/SSD (or nothing important). Make sure you backup your important files before starting.
You can also leave Windows intact, but it can get tricky. Read here for more information: http://www.tonymacx86.com/multi-booting/133940-mavericks-windows-8-same-drive-without-erasing.html
This guide for creating USB and installing using Clover UEFI works well: http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html
Special notes:
- This guide requires Clover v4658 or later.
- Definitely copy RealtekRTL8111.kext to Clover/kexts/Other as having network support during post-install is helpful. The rest of this guide depends on it. An alternate is to copy FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext to Clover/kexts/Other. This will enable WiFi, provided you have the BCM94352HMB WiFi card already installed.
Note: FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext are available here: https://github.com/RehabMan/OS-X-Fake-PCI-ID
- GenericUSBXHCI.kext is not necessary with the BRIX. Do not use it.
- You do not need VoodooPS2Controller.kext as it is laptop specific.
- Use the 'createinstallmedia' approach. It works well, and there is little chance for pilot error. This method also gives you an OS X recovery partition.
- Use the config_install.plist linked by this post instead of the laptop specific config.plist files linked by the guide. Make sure you copy it to EFI/Clover/config.plist (after installing Clover). Clover will not read a file named config_install.plist.
For installation, config_install.plist: https://github.com/RehabMan/Gigabyte-BRIX-s-DSDT-Patch/raw/master/config_install.plist
Post Installation
Install Clover UEFI as described in the guide linked by the previous section (post #2). After installing Clover, and configuring it correctly (config.plist, kexts, HFSPlus.efi, etc) you should be able to boot from the HDD/SSD.
Most everything works, but there are a few things to tidy up, drivers to install, etc. For that, we need to patch ACPI, provide a proper config.plist, and install the kexts that are required.
Since you have RealtekRTL8111.kext already injected by Clover, you should have internet access simply by using an Ethernet cable to your router. Plug it in and make sure you have internet access before continuing. Or if you're using FakePCIID_Broadcom_WiFi.kext, you can connect to your WiFi router before continuing.
Installation of the tools and patching is easy provided the scripts and tools at the repository: https://github.com/RehabMan/Gigabyte-BRIX-s-DSDT-Patch
To start, the developer tools must be installed. Run Terminal, and type:
You will be prompted to install the developer tools. Since you have internet working, you can choose to have it download and install them automatically. Do that before continuing.
After the developer tools are installed, we need to make a copy of the project on github.
In Terminal:
Now it is time to install some more tools and all the kexts that are required...
In Terminal:
The download.sh script will automatically gather the latest version of all tools (patchmatic, iasl, MaciASL) and all the kexts from bitbucket. The install_downloads.sh will automatically install them to the proper locations.
To finish the setup, we need a correctly patched DSDT/SSDT.
In Terminal:
The 'make' causes the patched files to be compiled (with iasl), the results placed in ./build.
Finally, 'make install', mounts the EFI partition, and copies the built files where they can be loaded by Clover (to EFI/Clover/ACPI/patched).
Note: No actual patching of DSDT/SSDT is happening here. We are simply building an SSDT (SSDT-HACK.aml) which provides the necessary changes. This is becuase the BRIX requires only minimal patching so a full patched DSDT is not needed.
Power Management
Everything required for CPU/IGPU power management is already installed with the steps above.
There is no longer any need to use the ssdtPRgen.sh script.
Also, be aware that hibernation (suspend to disk or S4 sleep) is not supported on hackintosh.
You should disable it:
Always check your hibernatemode after updates and disable it. System updates tend to re-enable it, although the trick above (making sleepimage a directory) tends to help.
Final config.plist
Up to now, you've been using the same config.plist we were using for installation. After all the APCI files are in place (previous two steps), you're ready to use the final config.plist from the BRIX repo.
First, mount the EFI partition:
Then copy the file:
You could also copy the file using Finder.
After copying the config.plist from the repo to EFI/Clover/config.plist, you should customize the SMBIOS so you have a unique serial. You can use Clover Configurator to do this (use google to find/download it). DO NOT use Clover Configurator to edit your actual config.plist. Instead edit a "dummy" config.plist to create the SMBIOS data and then use copy/paste with a plist editor (I use Xcode) to copy the SMBIOS section into my active config.plist. Clover Configurator is too buggy and cannot be trusted with edits to your real config.plist.
Note: The config.plist in the repo is using iMac14,1. It works. In theory, it would be possible to use another Haswell SMBIOS like Macmini7,1, but it is not directly supported by Clover (SMC data is missing), nor Clover Configurator (it is not an option in the SMBIOS wizard).
Do not stop reading
Although most of the post-install tasks are done, continue to read this guide. It it has important information you should know about.
Be sure to visit "Known Problems", especially the instructions in the "Audio:" section. Typically, even after completing all the above tasks, audio will not work on the first reboot. You must follow the specific instructions in that section in order to get the audio kexts in cache.
In the case of a problem, don't bother asking about with without all files requested in "Problem Reporting".
WiFi using BCM94352HMB
The ./download.sh and ./install_downloads.sh script have both been updated to install the necessary kexts for BCM94352HMB. The config.plist contains the patches required for WiFi 5Ghz and Bluetooth handoff features. The patch in config.plist for 5GHz is the US/FCC patch by the-darkvoid. If you're not in the US, you might consider a different patch. Read here: http://www.tonymacx86.com/network/104850-guide-airport-pcie-half-mini-v2.html
Updates to the patch repositories
From time to time, updates may become available to the BRIX repository. In the event of such updates, you may want to update your copies, and re-patch ACPI with the updates.
Since you're using git, it is easy...
In Terminal:
Then you can follow the instructions for updating config.plist or using 'make install' to copy the updated SSDT-HACK.aml.
Updates to kexts may happen at any time. You can download and install the latest versions manually (by going to their respective release sites), or by using ./download.sh, and ./install_downloads.sh.
What works
I have tested the following features:
- UEFI booting via Clover
- HDMI video/audio with hotplug
- AirPlay mirroring to AppleTV
- native WiFi via BCM94352HMB
- Bluetooth (with handoff) using BCM94352HMB
- native USB3/USB2 with AppleUSBXHCI/AppleUSBEHCI
- native audio with AppleHDA (using injector for easy updates) [see below, "Known Problems"]
- native power management
- accelerated graphics for HD4400 including OpenCL
- wired Ethernet
- Mac App Store working
- Messages/FaceTime (working on 10.10.3 even though I didn't run through the guide: http://www.tonymacx86.com/general-help/110471-how-fix-imessage.html)
Not tested/not working
The following features have issues, or have not been tested:
- did not test optical audio out (at least one person confirms it is working, but I have still not verified for myself)
- have not tested audio headphones lately (my unit now has broken audio, even on Windows)
- there may be an issue with audio being single channel only (confirmed multiple times to be a hardware problem specific to my BRIX unit)
Known Problems
Find My Mac/Locking: Find My Mac does not work properly. Don't lock your mac because it's difficult (or impossible) to unlock again.
Slow WiFi after sleep/wake cycle: Disable "Wake for network access" in SysPrefs->Energy Saver.
CPU Frequency: Clover identifies the CPU speed (as shown in "About this Mac") incorrectly. On my system (1.8Ghz Core i7-4500u), it shows 2.39Ghz. This appears to be cosmetic. You can fix it by overriding Clover logic with config.plist/CPU/FrequencyMHz. You will see how my setting is commented in the config.plist. Set it as appropriate for your own CPU.
5Ghz WiFi: If you don't see 5Ghz networks on WiFi, force a cache rebuild. You can use Kext Wizard or DPCIManager or in Terminal:
Then restart.
Other post-install tasks
Bluetooth: If you get the Bluetooth Setup Assistant popup, go to SysPrefs->Bluetooth->Advanced, uncheck the boxes.
Major updates
First step should be to update to the latest repository.
To do so:
Also update Clover to the latest using the Clover installer. Be sure to fix EFI/Clover/kexts, so that only EFI/Clover/kexts/Other is existing. All version specific directories under EFI/Clover/kexts should be removed.
Also update config.plist at EFI/Clover/config.plist to the latest content from the repo. Be sure to retain your own SMBIOS data at config.plist/SMBIOS.
Now you can update via the App Store. Just boot the installer/updater upon restart.
Problem reporting
Other problem reports should be accompanied by various files that allow your progress to be accounted for...
Read FAQ, "Problem Reporting". Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
The purpose of this guide is to provide a step-by-step guide to installing Mojave, High Sierra, Sierra, El Capitan, or Yosemite on the Haswell Gigabyte BRIX-s. My BRIX is the GB-BXi5H-4200, although I expect the guide will work on other similar models.
Note: This guide is confirmed working with the BRIX Pro GB-BXi5-4570R. Similarly confirmed for the BRIX Pro GB-BXi7-4770R.
Note: This guide will also work with Mavericks (maybe ML 10.8.5), although that is not my primary testing target.
I have added an SSD, and replaced the WiFi with Broadcom BCM94352HMB.
What you need
- Haswell Gigabyte BRIX
- macOS or OS X downloaded from the Mac App Store
- 8GB USB stick
- (optional) Broadcom BCM94352 for native WiFi/BT
Note: You could use a different (supported) WiFi card, but the BCM94352 is the one recommended and supported by this guide.
BIOS settings
The boot menu and BIOS setup can be accessed by mashing the F12 key during BIOS startup.
To start, "Restore Defaults" from the "Save & Exit" tab.
Then change:
- CFG Lock: Disabled (Advanced->CPU Configuratioin)
- Secure Boot Control: Disabled (Security)
Preparing USB and initial Installation
This guide assumes you're starting with nothing on your HDD/SSD (or nothing important). Make sure you backup your important files before starting.
You can also leave Windows intact, but it can get tricky. Read here for more information: http://www.tonymacx86.com/multi-booting/133940-mavericks-windows-8-same-drive-without-erasing.html
This guide for creating USB and installing using Clover UEFI works well: http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html
Special notes:
- This guide requires Clover v4658 or later.
- Definitely copy RealtekRTL8111.kext to Clover/kexts/Other as having network support during post-install is helpful. The rest of this guide depends on it. An alternate is to copy FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext to Clover/kexts/Other. This will enable WiFi, provided you have the BCM94352HMB WiFi card already installed.
Note: FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext are available here: https://github.com/RehabMan/OS-X-Fake-PCI-ID
- GenericUSBXHCI.kext is not necessary with the BRIX. Do not use it.
- You do not need VoodooPS2Controller.kext as it is laptop specific.
- Use the 'createinstallmedia' approach. It works well, and there is little chance for pilot error. This method also gives you an OS X recovery partition.
- Use the config_install.plist linked by this post instead of the laptop specific config.plist files linked by the guide. Make sure you copy it to EFI/Clover/config.plist (after installing Clover). Clover will not read a file named config_install.plist.
For installation, config_install.plist: https://github.com/RehabMan/Gigabyte-BRIX-s-DSDT-Patch/raw/master/config_install.plist
Post Installation
Install Clover UEFI as described in the guide linked by the previous section (post #2). After installing Clover, and configuring it correctly (config.plist, kexts, HFSPlus.efi, etc) you should be able to boot from the HDD/SSD.
Most everything works, but there are a few things to tidy up, drivers to install, etc. For that, we need to patch ACPI, provide a proper config.plist, and install the kexts that are required.
Since you have RealtekRTL8111.kext already injected by Clover, you should have internet access simply by using an Ethernet cable to your router. Plug it in and make sure you have internet access before continuing. Or if you're using FakePCIID_Broadcom_WiFi.kext, you can connect to your WiFi router before continuing.
Installation of the tools and patching is easy provided the scripts and tools at the repository: https://github.com/RehabMan/Gigabyte-BRIX-s-DSDT-Patch
To start, the developer tools must be installed. Run Terminal, and type:
Code:
xcode-select --install
You will be prompted to install the developer tools. Since you have internet working, you can choose to have it download and install them automatically. Do that before continuing.
After the developer tools are installed, we need to make a copy of the project on github.
In Terminal:
Code:
mkdir ~/Projects
cd ~/Projects
git clone https://github.com/RehabMan/Gigabyte-BRIX-s-DSDT-Patch brix.git
Now it is time to install some more tools and all the kexts that are required...
In Terminal:
Code:
cd ~/Projects/brix.git
./download.sh
./install_downloads.sh
The download.sh script will automatically gather the latest version of all tools (patchmatic, iasl, MaciASL) and all the kexts from bitbucket. The install_downloads.sh will automatically install them to the proper locations.
To finish the setup, we need a correctly patched DSDT/SSDT.
In Terminal:
Code:
cd ~/Projects/brix.git
make
make install
The 'make' causes the patched files to be compiled (with iasl), the results placed in ./build.
Finally, 'make install', mounts the EFI partition, and copies the built files where they can be loaded by Clover (to EFI/Clover/ACPI/patched).
Note: No actual patching of DSDT/SSDT is happening here. We are simply building an SSDT (SSDT-HACK.aml) which provides the necessary changes. This is becuase the BRIX requires only minimal patching so a full patched DSDT is not needed.
Power Management
Everything required for CPU/IGPU power management is already installed with the steps above.
There is no longer any need to use the ssdtPRgen.sh script.
Also, be aware that hibernation (suspend to disk or S4 sleep) is not supported on hackintosh.
You should disable it:
Code:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage
Always check your hibernatemode after updates and disable it. System updates tend to re-enable it, although the trick above (making sleepimage a directory) tends to help.
Final config.plist
Up to now, you've been using the same config.plist we were using for installation. After all the APCI files are in place (previous two steps), you're ready to use the final config.plist from the BRIX repo.
First, mount the EFI partition:
Code:
cd ~/Projects/brix.git
./mount_efi.sh
Then copy the file:
Code:
cd ~/Projects/brix.git
cp config.plist /Volumes/EFI/EFI/Clover/config.plist
You could also copy the file using Finder.
After copying the config.plist from the repo to EFI/Clover/config.plist, you should customize the SMBIOS so you have a unique serial. You can use Clover Configurator to do this (use google to find/download it). DO NOT use Clover Configurator to edit your actual config.plist. Instead edit a "dummy" config.plist to create the SMBIOS data and then use copy/paste with a plist editor (I use Xcode) to copy the SMBIOS section into my active config.plist. Clover Configurator is too buggy and cannot be trusted with edits to your real config.plist.
Note: The config.plist in the repo is using iMac14,1. It works. In theory, it would be possible to use another Haswell SMBIOS like Macmini7,1, but it is not directly supported by Clover (SMC data is missing), nor Clover Configurator (it is not an option in the SMBIOS wizard).
Do not stop reading
Although most of the post-install tasks are done, continue to read this guide. It it has important information you should know about.
Be sure to visit "Known Problems", especially the instructions in the "Audio:" section. Typically, even after completing all the above tasks, audio will not work on the first reboot. You must follow the specific instructions in that section in order to get the audio kexts in cache.
In the case of a problem, don't bother asking about with without all files requested in "Problem Reporting".
WiFi using BCM94352HMB
The ./download.sh and ./install_downloads.sh script have both been updated to install the necessary kexts for BCM94352HMB. The config.plist contains the patches required for WiFi 5Ghz and Bluetooth handoff features. The patch in config.plist for 5GHz is the US/FCC patch by the-darkvoid. If you're not in the US, you might consider a different patch. Read here: http://www.tonymacx86.com/network/104850-guide-airport-pcie-half-mini-v2.html
Updates to the patch repositories
From time to time, updates may become available to the BRIX repository. In the event of such updates, you may want to update your copies, and re-patch ACPI with the updates.
Since you're using git, it is easy...
In Terminal:
Code:
cd ~/Projects/brix.git
git pull
Then you can follow the instructions for updating config.plist or using 'make install' to copy the updated SSDT-HACK.aml.
Updates to kexts may happen at any time. You can download and install the latest versions manually (by going to their respective release sites), or by using ./download.sh, and ./install_downloads.sh.
What works
I have tested the following features:
- UEFI booting via Clover
- HDMI video/audio with hotplug
- AirPlay mirroring to AppleTV
- native WiFi via BCM94352HMB
- Bluetooth (with handoff) using BCM94352HMB
- native USB3/USB2 with AppleUSBXHCI/AppleUSBEHCI
- native audio with AppleHDA (using injector for easy updates) [see below, "Known Problems"]
- native power management
- accelerated graphics for HD4400 including OpenCL
- wired Ethernet
- Mac App Store working
- Messages/FaceTime (working on 10.10.3 even though I didn't run through the guide: http://www.tonymacx86.com/general-help/110471-how-fix-imessage.html)
Not tested/not working
The following features have issues, or have not been tested:
- did not test optical audio out (at least one person confirms it is working, but I have still not verified for myself)
- have not tested audio headphones lately (my unit now has broken audio, even on Windows)
- there may be an issue with audio being single channel only (confirmed multiple times to be a hardware problem specific to my BRIX unit)
Known Problems
Find My Mac/Locking: Find My Mac does not work properly. Don't lock your mac because it's difficult (or impossible) to unlock again.
Slow WiFi after sleep/wake cycle: Disable "Wake for network access" in SysPrefs->Energy Saver.
CPU Frequency: Clover identifies the CPU speed (as shown in "About this Mac") incorrectly. On my system (1.8Ghz Core i7-4500u), it shows 2.39Ghz. This appears to be cosmetic. You can fix it by overriding Clover logic with config.plist/CPU/FrequencyMHz. You will see how my setting is commented in the config.plist. Set it as appropriate for your own CPU.
5Ghz WiFi: If you don't see 5Ghz networks on WiFi, force a cache rebuild. You can use Kext Wizard or DPCIManager or in Terminal:
Code:
sudo touch /System/Library/Extensions
Then restart.
Other post-install tasks
Bluetooth: If you get the Bluetooth Setup Assistant popup, go to SysPrefs->Bluetooth->Advanced, uncheck the boxes.
Major updates
First step should be to update to the latest repository.
To do so:
Code:
cd ~/Projects/brix.git
git stash
git pull
make
make install
./download.sh
./install_downloads.sh
Also update Clover to the latest using the Clover installer. Be sure to fix EFI/Clover/kexts, so that only EFI/Clover/kexts/Other is existing. All version specific directories under EFI/Clover/kexts should be removed.
Also update config.plist at EFI/Clover/config.plist to the latest content from the repo. Be sure to retain your own SMBIOS data at config.plist/SMBIOS.
Now you can update via the App Store. Just boot the installer/updater upon restart.
Problem reporting
Other problem reports should be accompanied by various files that allow your progress to be accounted for...
Read FAQ, "Problem Reporting". Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.