Hello everyone,
these are just some useful notes I took during the process if I have to do it again.
You can use them at your advantage during the installation if you are new to hackintosh

.
My laptop specs
Mobo: Lenovo 510s 14-ISK (Clover UEFI)
CPU: i5-6267u
Graphics: Iris 550, 1920x1080
BIOS model: 0VCN26WW(V1.10)
Notes
- To access the BIOS use an eject sim tool or something similar and hit the reset button for 3 or more seconds on the left side of your computer where ports are located.
- WiFi Card needs to be replaced (BCM94352Z works great, another user reported bcm94350zae also works after Shielding pins), refer to "Hardware maintenance manual - Page 38".
- Hardware maintenance manual
- Installing on /System/Library/Extensions or /Library/Extensions is the same. Catalina only: Use Hackintool to install kexts
- Don’t worry about warning when rebuilding kexts (just make sure it’s accepted), signature warnings are OK.
- If updating (clean install) you need to update kexts in clover and create a bootable USB from step 1). It can be done without installing clover to USB.
- If updating via MacOS you need to update clover and kexts.
- To update clover you only need to download the newer version and proceed with install (check if everything is correct via customize button).
- Use https://www.tonymacx86.com/threads/tool-generate-proper-problem-reporting-files.235953/page-3 for error reporting.
- If you have multiple OS in dual booting and you want to change your hard drive (HDD, SDD) use clonezilla (it copies all volumes including EFI, make sure to shrink and restore the partitions after cloning so that free space is visible).
Guides followed
1) Installation process
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
2) Patching process
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
3) Brightness slider fix
https://www.tonymacx86.com/threads/...rol-using-applebacklightinjector-kext.218222/
4) Brightness keys fix (acpi patch needed)
https://www.tonymacx86.com/threads/guide-patching-dsdt-ssdt-for-laptop-backlight-control.152659/
5) Power management patch
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/
https://www.tonymacx86.com/threads/skylake-hwp-enable.214915/
6) WiFi Card software implementation (Read FAQs "BCM94352 requirements")
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
7) Fix battery icon - The DSDT.dsl already has 8-bit fields so there is no need to patch it, just install ACPIBatteryManager.kext
https://github.com/RehabMan/OS-X-ACPI-Battery-Driver
8) Enable HiPDI at the resolution you like (i.e. I suggest 1600x900 and 1280x720, notice that the official guide from tonymacx didn't work for me)
https://github.com/xzhih/one-key-hidpi
9) USBInjectAll custom SSDT
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
Highlighted steps
1) Installation process
1).1
Configure the BIOS to let it read the USB drive we will create next step.
Configuration Tab
- USB Legacy [Disabled]
- Wireless LAN [Enabled]
- Power Beep [Disabled]
- Intel Virtual Technology [Disabled]
- BIOS Back Flash [Disabled]
- HotKey Mode [Enabled]
- Always On USB [Enabled]
Security Boot
- Intel Platform Trust Technology [Disabled]
Boot
- Boot Mode [Legacy Support]
- Boot Priority [UEFI First]
- Fast Boot [Disabled]
- USB Boot [Enabled]
- PXE Boot to LAN [Disabled]
1).2 (if you have macOS installed on another PC)
-Format USB (min 8GB) in terminal typing:
Code:
diskutil list
diskutil partitionDisk /dev/diskX 1 GPT HFS+J "install_osx" R
(e.g diskutil partitionDisk /dev/disk3 1 GPT HFS+J "install_osx" R)
-Use UniBeast to create a bootable UEFI usb after having downloaded macOS form the App Store
1).3 (if you have macOS installed on another PC)
Add to /Volumes/EFI/EFI/Clover/drivers64UEFI manually, or select via CLOVER installer:
- ApfsDriverLoader.efi. If you're installing High Sierra or later (10.13+) to an SSD, keep in mind that the file system will be APFS. APFS support is automatic with ApfsDriverLoader.efi. It should be a default selection.
- AptioMemoryFix.efi
- AudioDxe.efi
- DataHubDxe.efi
- FSInject.efi
- HFSPlus.efi (“Note: Please, DO NOT forget HFSPlus.efi. Without it, you won't see any HFS+ partitions, including the HFS+ partition that the OS X installer is on.”)
- SMCHelper.efi
- VirtualSmc.efi (MUST HAVE IF YOU USE VirtualSMC.kext)
Delete folders in /Volumes/EFI/EFI/CLOVER/kexts except Other
Install basic kexts by copying them in /Volumes/EFI/EFI/CLOVER/kexts/Other (make sure to find the latest version compatible with your OS):
- FakeSMC.kext or VirtualSMC.kext (consider using this)
- VoodooPS2Controller.kext
- USBInjectAll.kext
To have a bootable MacOS installer you need a "SSDT-EC.aml" in EFI/CLOVER/ACPI/Patched. All you need to do is to compile the SSDT as aml:
https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC.dsl. It is also necessary to "Remove all patch about renaming acpi of EC or H_EC" in config.plist or disable them by adding a Disabled YES entry (reference:
https://www.insanelymac.com/forum/topic/339035-pre-release-macos-catalina/?page=52).
I suggest using my config.plist (which is a modified version of Rehabman's).
Boot macOS Installer from USB by using the boot menu (hit the reset button for it to show up) and configure your mac.
Format your volumes with diskutil in terminal to configure your mac or use Disk Utility:
Code:
diskutil eraseDisk JHFS+ DiskName /dev/DiskNodeID
(e.g. diskutil eraseDisk JHFS+ MacOS /dev/disk1)
Create a new partition from Disk Utility.
1).4
To boot the OS without USB you need to install Clover on your volume.
1).5
-Follow the same steps above to get a properly configured CLOVER.
-Change Volumes/EFI/Clover/config.plist to the one I provide.
-It’s time to install kexts (install in both /Library/Extensions and /CLOVER/kexts), always search for the most updated version:
ACPIBatteryManager (only on /Library/Extentions - DO NOT USE THIS IF USING VirtualSMC.kext)
AirportBrcmFixup.kext
RealtekRTL8111.kext
BrcmPatchRAM2.kext (catalina: https://www.insanelymac.com/forum/t...-catalina-broadcom-bluetooth-firmware-upload/)
BrcmFirmwareData.kext
BrcmBluetoothInjector.kext
BT4LEContinuityFixup.kext
FakePCIID.kext
FakePCIID_Broadcom_WiFi.kext
FakePCIID_Intel_HD_Graphics.kext
VoodooPS2Controller.kext
USBInjectAll.kext
AppleALC.kext (see #8)
Lilu.kext
WhateverGreen.kext
Sinetek-rtsx.kext
You also need
FakeSMC.kext
FakeSMC_ACPISensors.kext
FakeSMC_CPUSensors.kext
FakeSMC_GPUSensors.kext
FakeSMC_LPCSensors.kext
FakeSMC_SMMSensors.kext
or VirtualSMC.kext (DO NOT USE ACPIBatteryManager.kext, place VirtualSmc.efi in drivers folder!)
VirtualSMC.kext
SMCBatteryManager.kext (DO NOT USE ACPIBatteryManager.kext)
SMCLightSensor.kext
SMCProcessor.kext
SMCSuperIO.kext
2) Patching process
Generate aml with fn+f2 fn+f4 in clover.
Remove duplicates if there are.
Patches I applied:
- "instant wake" 0x6D Skylake
- brightness keys fix (see below)
- "Fix _WAK Arg0 v2"
- "HPET Fix"
- "SMBUS Fix"
- "IRQ Fix"
- "RTC Fix"
- "OS Check Fix"
- "Fix Mutex with non-zero SyncLevel"
- "Fix PNOT/PPNT" (use only if you're dropping CPU related SSDTs)
- "6-series USB"
- "7-series/8-series USB"
- "Rename _DSM methods to XDSM"
Use RehabMan's patch:
- config.plist (for sorded-order)
- /acpi/patched/DSDT.aml
- /acpi/patched/SSDT-PNLF.aml
- /acpi/patched/SSDT-EC.aml (necessary to boot the installer when updating)
- /acpi/patched/SSDT-XCPM.aml or /acpi/patched/SSDT.aml (see power management)
4) Brightness keys fix (acpi patch needed)
Refer to
Disassembly with refs.txt
Adding sources is in app preferences
Copy-paste and patch
Code:
into method label _Q11 replace_content
begin
// Brightness Down\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n
end;
into method label _Q12 replace_content
begin
// Brightness Up\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n
end;
5) Power management patch
Choose ONLY one between:
Experimental technique: XCPM only ,
Custom SSDT.aml using ssdtPRGen.sh - install the beta version (for Skylake CPU and be sure
https://github.com/Piker-Alpha/ssdtPRGen.sh/blob/Beta/Data/Skylake.cfg is included in ~/Library/ssdtPRGen/Data/), HPWEnable with config.plist.
Note: I suggest to use
Custom SSDT.aml using ssdtPRGen.sh as the CPU is supported.
Related Geekbench 4 test:
https://browser.geekbench.com/v4/cpu/14431751,
https://browser.geekbench.com/v4/cpu/14432806
6) WiFi Card software implementation (Read FAQs "BCM94352 requirements")
Install FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext, BrcmPatchRAM2 and
BrcmFirmwareRepo.kext.
5Ghz patch not necessary.
For bluetooth add to KextsToPatch in clover.config (
https://github.com/RehabMan/OS-X-BrcmPatchRAM, see my config.plist):
Code:
<dict>
<key>Comment</key>
<string>10.11.dp1+ BT4LE-Handoff-Hotspot, credit RehabMan based on Dokterdok original</string>
<key>Find</key>
<data>SIX/dEdIiwc=</data>
<key>Name</key>
<string>IOBluetoothFamily</string>
<key>Replace</key>
<data>Qb4PAAAA60Q=</data>
</dict>
9) My custom SSDT for USBInjectAll.kext is the following (NO USB3 devices were injected, even if two ports of the 3 are USB3):
Code:
// SSDT-UIAC-ALL.dsl
//
// This SSDT can be used as a template to build your own
// customization for USBInjectAll.kext.
//
// This SSDT contains all ports, so using it is the same as without
// a custom SSDT. Delete ports that are not connected or ports you
// do not need.
//
// Change the UsbConnector or portType as needed to match your
// actual USB configuration.
//
// Note:
// portType=0 seems to indicate normal external USB2 port (as seen in MacBookPro8,1)
// portType=2 seems to indicate "internal device" (as seen in MacBookPro8,1)
// portType=4 is used by MacBookPro8,3 (reason/purpose unknown)
//
// NO USB3 PORTS ARE INJECTED
//
DefinitionBlock ("", "SSDT", 2, "hack", "_UIAC", 0)
{
Device(UIAC)
{
Name(_HID, "UIA00000")
Name(RMCF, Package()
{
"8086_9dxx", Package() // examples: 0x9d2f, 0x9ded
{
"port-count", Buffer() { 18, 0, 0, 0 },
"ports", Package()
{
"HS02", Package() // HS USB right up
{
"UsbConnector", 0,
"port", Buffer() { 2, 0, 0, 0 },
},
"HS03", Package() // HS USB right down
{
"UsbConnector", 0,
"port", Buffer() { 3, 0, 0, 0 },
},
"HS04", Package() // HS USB left
{
"UsbConnector", 0,
"port", Buffer() { 4, 0, 0, 0 },
},
"HS05", Package() // camera
{
"UsbConnector", 255,
"port", Buffer() { 5, 0, 0, 0 },
},
"HS07", Package() // bluetooth
{
"UsbConnector", 255,
"port", Buffer() { 7, 0, 0, 0 },
},
},
},
})
}
}
//EOF
Working features
- if videos are not working install flash player and reboot.
- sleep (acpi "instant wake" patch is necessary).
- keyboard backlight enable/disable -> fn (control) + space
- Bluetooth and WiFi after card replacement
- Gestures: 2 finger scroll, 3 finger swipe (L and R), PinchToZoom, rotate, go back or forward with 2 fingers (see most updated VoodooPS2Controller.kext)
Not working features
- SDcard reader (a user reported it can be fixed with Sinetek-rtsx.kext)
Installing Windows 10 after MacOS is installed
Make sure the BIOS is configured properly.
For dual boot make sure you add inf drivers to install.wim, using DISM gui, for ssd to be read during Windows 10 setup. Format (as NTFS, within the Windows installer) the placeholder HFS+J partition created with diskutil in MacOS (I get an error during setup but somehow after creating a new bootable usb it got solved:
https://www.tonymacx86.com/threads/...next-to-macos-high-sierra-on-same-ssd.239403/).
Format USB with terminal:
Code:
diskutil eraseDisk FAT32 USB GPT /dev/disk2
After installation is completed you won't be able to see clover bootloader at start. Using cmd.exe with administrator priviledges:
mount the EFI partition,
access the partition
Code:
move bootmgfw.efi bootmgfw-orig.efi
rename the Windows bootloader file.
Personal notes
- system_profiler
- fans control -> intel app
- For sleep (start+alt+insert = alt option+cmd+eject)
Keyboard:
- eject = insert
- cmd = Alt = AltGr
- Alt Option = Start
- Fn = Fn
- Control = Ctrl
Key logs:
Code:
default 23:06:41.903320 +0100 kernel ACPIDebug: "EC _Q11 enter"
default 23:06:41.905924 +0100 kernel ACPIDebug: "EC _Q11 exit"
F11
default 23:06:46.545831 +0100 kernel ACPIDebug: "EC _Q12 enter"
default 23:06:46.547385 +0100 kernel ACPIDebug: "EC _Q12 exit"
F12
default 23:06:55.884069 +0100 kernel ACPIDebug: "EC _Q44 enter"
default 23:06:55.884294 +0100 kernel ACPIDebug: "EC _Q44 exit"
F4
default 22:08:19.706744 +0100 kernel ApplePS2Keyboard: sending key 3f=60 down
default 22:08:19.839885 +0100 kernel ApplePS2Keyboard: sending key 3f=60 up
F5
default 22:08:34.386758 +0100 kernel ApplePS2Keyboard: sending key e05b=3a down
default 22:08:34.389130 +0100 kernel ApplePS2Keyboard: sending key 26=25 down
default 22:08:34.611671 +0100 kernel ApplePS2Keyboard: sending key e05b=3a up
default 22:08:34.615547 +0100 kernel ApplePS2Keyboard: sending key 26=25 up
F9
default 22:08:39.417449 +0100 kernel ApplePS2Keyboard: sending key e05b=3a down
default 22:08:39.420193 +0100 kernel ApplePS2Keyboard: sending key 19=23 down
default 22:08:39.424453 +0100 kernel ApplePS2Keyboard: sending key 19=23 up
default 22:08:39.431010 +0100 kernel ApplePS2Keyboard: sending key e05b=3a up
F10
default 22:08:55.437706 +0100 kernel ApplePS2Keyboard: sending key e037=0, 0=80 down
default 22:08:55.652938 +0100 kernel ApplePS2Keyboard: sending key e037=0, 0=80 up
PRTSC
default 22:08:59.427663 +0100 kernel ApplePS2Keyboard: sending key e052=92 down
default 22:08:59.668309 +0100 kernel ApplePS2Keyboard: sending key e052=92 up
INSERT
Installing linux
Remember to change boot order after installation if clover doesn't show up.
Do that using
Code:
sudo efibootmgr
sudo efibootmgr -o XXX,XXX,XXX
Special thanks to
RehabMan
without whom my machine wouldn't work.