- Joined
- Oct 10, 2011
- Messages
- 10
- Motherboard
- Jginyue B85I-PLUS ITX
- CPU
- i5 4690
- Graphics
- HD 4600
- Mac
- Mobile Phone
TL;DR How to hackintosh a JGINYUE B85I-PLUS mini-ITX Haswell system with OpenCore. Big Sur is running. Custom ACPI tables must be created.
I will explain a bit about the mainboard at the end of the guide.
What works:
- Boots without delay
- Sound
- USB
- Network
- Onboard Graphics
- Standby (monitor goes to sleep)
- NVME and SATA SSDs
What does not work:
- Sleep (the BIOS only mentions S1 state but not S3, so it might not be supported at all)
BIOS settings: As recommended by the OpenCore guide. Minimum Vmem is set 96MB instead of 64MB which is recommended by the guide. (With 64 it would not boot).
How to make it work:
Just follow the https://dortania.github.io/OpenCore-Install-Guide and you are done.
Just kidding, it took me hours to find out why it was not working. This is not vanilla Gigabyte board that was tested with OpenCore a million times.
1. Creating the USB as in the guide.
2. Creating your EFI Folder as in the guide. My basic EFI looked like this:
As recommended only HfsPlus.efi https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi and OpenRuntime.efi are added. I never used Openshell but it was recommended for debugging.
3. Kexts
AppleALC, Lilu, RealtekRTL8111,VirtualSMC and Whatevergreen. Download them from the originator.
USBPorts.kext has to be created using the TonyMac manual on USB injection. https://www.tonymacx86.com/threads/the-new-beginners-guide-to-usb-port-configuration.286553/
This is the USBPorts.kext for the B85I Mainboard. It injects the six USB Ports on the back and the two front USB3 ports but not the front USB2 ports (I do not have a bracket to test).
USBInjectAll works as well. So you use it and follow the guide to create your own kext.
4. ACPI tables
The SSDT-PLUG and SSDT-EC from the Dortania guide do not work with this mainboard. It will boot, taking forever and with error messages and sometimes kernel panic. Also Sound will not work.
I used SSDTTime to create patched SSDTs.
Download my results folder in the end of this post.
DSDT.aml is the unpatched DSDT from the system. Just added for completion. What I used were the three .aml files. SSDT-EC.aml, SSDT-HPET.aml and SSDT-PLUG.aml - I am not sure whether the HPET is really neccessary. It is used to patch away legacy IRQs. Most likely the ACPI tables have none of these. But as this board is a bit exotic, I appled the default patches and included it.
And I copied the lines in the patches_OC.plist to my config.plist - This is important!
5. Config.plist
I copied the sample.plist from the OpenCore installer package and renamed it to config.plist
My finished folder:
For editing the config.plist I use ProperTree and the text editor for copy paste.
In Propertree I used the Cmd/Ctrl + Shift + R and pointed it at my EFI/OC folder
It imported all kexts, drivers and SSDT aml files.
ACPI Add is complete now.
ACPI Delete remains unchanged.
ACPI Patch - Copied the three patches from the patches_OC.plist to the config.plist
ACPI Quirks ramain unchanged.
Booter like in the guide for Haswell.
DeviceProperties is specific to My GPU (Intel HD 4600 of my Core i5 4690). Change it following the guide if you want to use a different GPU.
Kernel Quirks as in the guide EXCEPT for XhciPortLimit which can be set to False as we use a custom USB kext instead of USBInjectAll.
Misc section as in guide.
NVRAM section as in guide.
Audio is injected by adding alcid=3 in the boot-args
Platforminfo as in guide. I use iMac15,1 as system definition.
Rest of the config.plist is as in guide.
6. Testing the EFI folder
Save everything, put the EFI folder on a USB stick and see whether it boots.
Files:
config.plist (Change the Platforminfo part. I put in rubbish).
USBPorts.kext - The kext is specific to this mainboard.
SSDTTime results - The patched SSDT files for this mainboard.
Appendix: The JGINYUE Mainboard
Why would anyone buy a Chinese 1150 mainboard in 2021?
I wanted to have a budget Mini-ITX computer with an affordable CPU. Haswell CPUs are strong enough for an office PC and can be found on the cheap.
Used ITX mainboards are still quite expensive in Europe, so I checked AliExpress and found this board with some features you do not find on used mainboards:
Does it have downsides? Sure. Sleep does not work. The mainboard BIOS does not mention S3 state, but only S1 state. Perhaps it is not implemented. If someone has an idea, please comment.
Can I recommend it? Yes, it works well since two days and I had no crashes. If that changes, I will post it here.
http://www.jginyue.com is a Chinese brand of Mainboards. I bought mine on Aliexpress.com - There is also a H97 version which supports Broadwell. I tried installing a Broadwell on the B85 mainboard and even flashed the BIOS from the H97 version but it did not work.
I switched to the H97 version and even got a Z97 chip. But I did not manage to get the MAC OS running with the H97 board.
I will explain a bit about the mainboard at the end of the guide.
What works:
- Boots without delay
- Sound
- USB
- Network
- Onboard Graphics
- Standby (monitor goes to sleep)
- NVME and SATA SSDs
What does not work:
- Sleep (the BIOS only mentions S1 state but not S3, so it might not be supported at all)
BIOS settings: As recommended by the OpenCore guide. Minimum Vmem is set 96MB instead of 64MB which is recommended by the guide. (With 64 it would not boot).
How to make it work:
Just follow the https://dortania.github.io/OpenCore-Install-Guide and you are done.
Just kidding, it took me hours to find out why it was not working. This is not vanilla Gigabyte board that was tested with OpenCore a million times.
1. Creating the USB as in the guide.
2. Creating your EFI Folder as in the guide. My basic EFI looked like this:
As recommended only HfsPlus.efi https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi and OpenRuntime.efi are added. I never used Openshell but it was recommended for debugging.
3. Kexts
AppleALC, Lilu, RealtekRTL8111,VirtualSMC and Whatevergreen. Download them from the originator.
USBPorts.kext has to be created using the TonyMac manual on USB injection. https://www.tonymacx86.com/threads/the-new-beginners-guide-to-usb-port-configuration.286553/
This is the USBPorts.kext for the B85I Mainboard. It injects the six USB Ports on the back and the two front USB3 ports but not the front USB2 ports (I do not have a bracket to test).
USBInjectAll works as well. So you use it and follow the guide to create your own kext.
4. ACPI tables
The SSDT-PLUG and SSDT-EC from the Dortania guide do not work with this mainboard. It will boot, taking forever and with error messages and sometimes kernel panic. Also Sound will not work.
I used SSDTTime to create patched SSDTs.
Download my results folder in the end of this post.
DSDT.aml is the unpatched DSDT from the system. Just added for completion. What I used were the three .aml files. SSDT-EC.aml, SSDT-HPET.aml and SSDT-PLUG.aml - I am not sure whether the HPET is really neccessary. It is used to patch away legacy IRQs. Most likely the ACPI tables have none of these. But as this board is a bit exotic, I appled the default patches and included it.
And I copied the lines in the patches_OC.plist to my config.plist - This is important!
5. Config.plist
I copied the sample.plist from the OpenCore installer package and renamed it to config.plist
My finished folder:
For editing the config.plist I use ProperTree and the text editor for copy paste.
In Propertree I used the Cmd/Ctrl + Shift + R and pointed it at my EFI/OC folder
It imported all kexts, drivers and SSDT aml files.
ACPI Add is complete now.
ACPI Delete remains unchanged.
ACPI Patch - Copied the three patches from the patches_OC.plist to the config.plist
ACPI Quirks ramain unchanged.
Booter like in the guide for Haswell.
DeviceProperties is specific to My GPU (Intel HD 4600 of my Core i5 4690). Change it following the guide if you want to use a different GPU.
Kernel Quirks as in the guide EXCEPT for XhciPortLimit which can be set to False as we use a custom USB kext instead of USBInjectAll.
Misc section as in guide.
NVRAM section as in guide.
Audio is injected by adding alcid=3 in the boot-args
Platforminfo as in guide. I use iMac15,1 as system definition.
Rest of the config.plist is as in guide.
6. Testing the EFI folder
Save everything, put the EFI folder on a USB stick and see whether it boots.
Files:
config.plist (Change the Platforminfo part. I put in rubbish).
USBPorts.kext - The kext is specific to this mainboard.
SSDTTime results - The patched SSDT files for this mainboard.
Appendix: The JGINYUE Mainboard
Why would anyone buy a Chinese 1150 mainboard in 2021?
I wanted to have a budget Mini-ITX computer with an affordable CPU. Haswell CPUs are strong enough for an office PC and can be found on the cheap.
Used ITX mainboards are still quite expensive in Europe, so I checked AliExpress and found this board with some features you do not find on used mainboards:
- Nice design (white mainboard).
- 2 NVMe slots. One for NVMe SSD, one for Wifi. So you should be able to put in the recommended Wifi cards into that slot.
Does it have downsides? Sure. Sleep does not work. The mainboard BIOS does not mention S3 state, but only S1 state. Perhaps it is not implemented. If someone has an idea, please comment.
Can I recommend it? Yes, it works well since two days and I had no crashes. If that changes, I will post it here.
http://www.jginyue.com is a Chinese brand of Mainboards. I bought mine on Aliexpress.com - There is also a H97 version which supports Broadwell. I tried installing a Broadwell on the B85 mainboard and even flashed the BIOS from the H97 version but it did not work.
I switched to the H97 version and even got a Z97 chip. But I did not manage to get the MAC OS running with the H97 board.
Attachments
Last edited: