Jump to content
kosakgroove

[Guide] Lenovo Thinkpad L420 with El Capitan

33 posts in this topic

Recommended Posts

Hello fellow Hackintoshers :D

 

I come to present my full guide on how to install Mac OS X 10.11 El Capitan on any Lenovo Thinkpad L420. I understand this is not a highly popular laptop outside corporations, I don’t even know if it was ever sold to the general public, so I guess this post will help me know that hahah anyway a friend of mine gave me two of them, one with i5 another with i3. This tutorial applies to any of those models. It should also apply to older versions of Mac OS X all the way until Snow Leopard (little modifications required as well as appropriate kexts)

 

First, screenshot proof of beautiful functionality

 

post-1517295-0-18038500-1484761583_thumb.png

 

What is working

WiFi , Bluetooth, Airdrop (Wifi replaced with Atheros AR9285)

Full QE/CI acceleration with integrated Intel HD3000 graphics

Trackpad with 1 finger , 2 finger and 3 finger gestures

keyboard as well as function keys (brightness, volume)

Battery percentage

Sleep, Shutdown and Reboot

Sound working on ALC269 mobile

DVD Drive

DisplayPort audio and video

VGA out

USB 3.0 ExpressCard (Renesas)

iMessage and Facetime

Recovery Partition

 

What is not working

You tell me :P

 

 

Install bootloader (Clover) to El Capitan USB install media

 

You should select your USB in the Clover installer and then hit “Customize”

Select the next options:

 

Install Clover in the ESP

Install boot0ss in MBR

Clover EFI 64bits SATA

CSMVideoDxe-64

EmuVariableUEFI-64

OsxAptioFix2Drv-64

Fat64

 

 

 

Configuring the bootloader

 

After installation is complete, the EFI partition we want to configure will already be mounted, so we proceed to open it and do the following

Install HFSPlus.efi and NTFS.efi in drivers64UEFI folder and remove VboxHFS.efiOpen the folder /EFI/Clover/kexts and delete all the folders starting by 10 and leave only the “other” folderIn the above mentioned “other” folder place the kexts that I will quote next (you can download the ones attached to the post, but I always recommend the latest versions) :

 

ACPIBatteryManager.kext

AppleALC.kext

BroadcomBluetooth.kext

CodecCommander.kext

DisableTurboBoostBattery.kext

FakePCIID_XHCIMux.kext

FakePCIID.kext

FakeSMC, HWInfo, IntelCPUMonitor (HwSensors3 from Slice)

GenericUSBXHCI.kext (only if you use an USB3.0 ExpressCard)

IntelBacklight.kext

RealtekRTL8111.kext

toledaARPT.kext (if you use Atheros AR9285)

USBInjectAll.kext

VoodooPS2Controller.kext ( tluck's version )

 

 

kextpack Lenovo L420 .zip

 

 

After all the kexts are in the correct folder you should tweak your config.plist as follows, I recommend using Clover Configurator

 

post-1517295-0-78487600-1484761755_thumb.png

 

post-1517295-0-54557300-1484761781_thumb.png

 

post-1517295-0-55146900-1484761796_thumb.png

 

post-1517295-0-78851600-1484761823_thumb.png

 

post-1517295-0-97817300-1484761841_thumb.png

 

post-1517295-0-53081400-1484761857_thumb.png

 

post-1517295-0-66999300-1484761882_thumb.png

 

post-1517295-0-88961000-1484761890_thumb.png

 

post-1517295-0-56500900-1484761900_thumb.png

 

post-1517295-0-29411100-1484761918_thumb.png

 

post-1517295-0-05800100-1484761927_thumb.png

 

 

Lenovo mostly whitelist the Wifi cards on their laptops (and some desktops) so you will have to use a custom BIOS for this. There is one here luckily.

https://app.box.com/s/j4fffsagyzlohxmnvq6t

 

If you need me to explain how to flash it then you shouldn’t really be Hackintoshing in the first place.

After you have flashed the BIOS make sure you set the SATA controller to AHCI. You should be able to boot from the Clover USB and install Mac OS X

Remember to use a GUID partition scheme for the drive you will use. Recovery partition should be generated automatically by the OS X installer.

 

Enjoy your new HackBook :D

 

PS: DSDT and SSDT patches tutorial for this specific laptop are on their way

Share this post


Link to post
Share on other sites
Advertisement

In order to get everything working properly , follow these guidelines for ACPI tables patching. Firstly, press F4 at Clover GUI in order to dump the native ACPI tables. You will most probably get a crash, a red screen full of weird black numbers and strange symbols, do not worry, just force shutdown. At the next boot if you look in /EFI/Clover/ACPI/origin you should have a bunch of files.

After getting MaciASL and acpica tools from RehabMan (always updated) and installing them, and adding rehabman’s laptop dsdt patch repository, which is this:

 

https://github.com/RehabMan/Laptop-DSDT-Patch

 

Delete all files except DSDT, SSDT-0 and SSDT-1 in /EFI/Clover/ACPI/origin

 

You should decompile the DSDT , SSDT-0 and SSDT-1 using the following commands

cd /path/to/your/filesiasl -da -dl *.aml
After obtaining the .dsl files you should open them and check for errors.

The only error you will find will be in one of the SSDTs and it can be fixed using the Remove _PSS placeholders patch to fix that SSDT that only contains info about the CPU and is full of “Package (0x06)”

When your files are nice and clean and in dsl format you can happily apply the following patches to DSDT

 

 

Hit Command + F and type GFX0, then in replace type IGPU and then hit ALL

Use the patch "DTGP" (provided below)

Use the patch "Fix _WAK Arg0 v2"

Use the patch "HPET Fix"

Use the patch "SMBUS Fix"

Use the patch "IRQ Fix"

Use the patch "RTC Fix"

Use the patch "OS Check Fix"

Use the patch "Fix Mutex with non-zero SyncLevel"

Use the patch "Add IMEI"

Use the patch “6 Series USB”

Use the patch "USB PRW 0x6D"

Use the patch "Igpu Brightness Fix"

Use the patch "Audio Layout id 3"

Use the patch "Kosakgroove L420 battery patch" (created by me, provided below)

 

For Brightness keys ( Q14 and Q15 in DSDT) replace your methods with mine

Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query            {                Store (0x14, P80H)                If (^HKEY.MHKK (0x8000))                {                    ^HKEY.MHKQ (0x1010)                }                If (LGreaterEqual (OSYS, 0x07D6))                {                    If (IGDS)                    {                        Notify (^^^IGPU.DD02, 0x86)                        Sleep (0x50)                    }                    Else                    {                        Notify (^^^PEG0.VGA.LCD, 0x86)                    }                    UCMS (0x16)                }                ElseIf (IGDS)                {                    Store (UCMS (0x15), BRNS)                    Store (BRNS, Local0)                    If (LNotEqual (Local0, 0x0F))                    {                        Increment (Local0)                        Store (Local0, BRNS)                    }                    UCMS (0x16)                    BLCL ()                }                Else                {                    UCMS (0x04)                }                Notify (PS2K, 0x0406)            }            Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query            {                Store (0x15, P80H)                If (^HKEY.MHKK (0x00010000))                {                    ^HKEY.MHKQ (0x1011)                }                If (LGreaterEqual (OSYS, 0x07D6))                {                    If (IGDS)                    {                        Notify (^^^IGPU.DD02, 0x87)                        Sleep (0x50)                    }                    Else                    {                        Notify (^^^PEG0.VGA.LCD, 0x87)                    }                    UCMS (0x16)                }                ElseIf (IGDS)                {                    If (VCDB)                    {                        Store (Zero, VCDB)                        Store (UCMS (0x15), BRNS)                        UCMS (0x16)                        BLCL ()                    }                    Else                    {                        Store (UCMS (0x15), BRNS)                        Store (BRNS, Local0)                        If (Local0)                        {                            Decrement (Local0)                            Store (Local0, BRNS)                        }                        UCMS (0x16)                        BLCL ()                    }                }                Else                {                    UCMS (0x05)                }                Notify (PS2K, 0x0405)            }
Little bonus, since the ThinkVantage key does absolutely nothing, I patched the DSDT so that when you hit that key, the fans will remain at 100% speed all the time. Hit it again and they go back to auto mode :D Cool Right? Replace your _Q19 method with mine
Method (_Q19, 0, NotSerialized)  // _Qxx: EC Query            {                Name (FANS, One)                Store (HFSP, FANS)                XOr (FANS, 0x80, Local0)                If (Local0)                {                    Store (0x80, HFSP)                }                Else                {                    Store (0x07, HFSP)                }            }
DTGP patch
into method label DTGP remove_entry;into definitionblock code_regex . insertbeginMethod (DTGP, 5, NotSerialized)\n{\n    If (LEqual (Arg0, Buffer (0x10)\n            {\n                /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, \n                /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B\n            }))\n    {\n        If (LEqual (Arg1, One))\n        {\n            If (LEqual (Arg2, Zero))\n            {\n                Store (Buffer (One)\n                    {\n                        0x03\n                    }, Arg4)\n                Return (One)\n            }\n            If (LEqual (Arg2, One))\n            {\n                Return (One)\n            }\n        }\n    }\n    Store (Buffer (One)\n        {\n            0x00\n        }, Arg4)\n    Return (Zero)\n}end
My Battery patch
#Maintained by: RehabMan for: Laptop Patches#battery_Lenovo-L420.txt# Created by kosakgroove 2016-12-02.  Some additions/fixes by RehabMan# Works for:#   Lenovo L420into method label B1B2 remove_entry;into definitionblock code_regex . insertbeginMethod (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\nend;into method label B1B4 remove_entry;into definitionblock code_regex . insertbeginMethod (B1B4, 4, NotSerialized)\n{\n    Store(Arg3, Local0)\n    Or(Arg2, ShiftLeft(Local0, 8), Local0)\n    Or(Arg1, ShiftLeft(Local0, 8), Local0)\n    Or(Arg0, ShiftLeft(Local0, 8), Local0)\n    Return(Local0)\n}\nend;into device label EC code_regex BATD,\s+16, replace_matched begin ATD0,8,ATD1,8, end;into device label EC code_regex SMW0,\s+16 replace_matched begin MW00,8,MW01,8 end;into device label EC code_regex SBRC,\s+16, replace_matched begin BR00,8,BR01,8, end;into device label EC code_regex SBFC,\s+16, replace_matched begin BF00,8,BF01,8, end;into device label EC code_regex SBVO,\s+16, replace_matched begin BV00,8,BV01,8, end;into device label EC code_regex SBSN,\s+16 replace_matched begin SN00,8,SN01,8 end;into device label EC code_regex SBDC,\s+16, replace_matched begin DC00,8,DC01,8, end;into device label EC code_regex SBDV,\s+16, replace_matched begin DV00,8,DV01,8, end;into device label EC code_regex SBAE,\s+16, replace_matched begin BA00,8,BA01,8, end;into device label EC code_regex SBAF,\s+16, replace_matched begin BB00,8,BB01,8, end;into device label EC code_regex SBBS,\s+16, replace_matched begin BD00,8,BD01,8, end;into device label EC code_regex SBMD,\s+16, replace_matched begin SB00,8,SB01,8, end;into device label EC code_regex SBCC,\s+16, replace_matched begin CC00,8,CC01,8, end;into device label EC code_regex SBOM,\s+16, replace_matched begin OM00,8,OM01,8, end;into device label EC code_regex SBSI,\s+16, replace_matched begin SI00,8,SI01,8, end;into device label EC code_regex SBDT,\s+16, replace_matched begin DT00,8,DT01,8, end;into device label EC code_regex SBAC,\s+16, replace_matched begin AC00,8,AC01,8, end;into method label SELE code_regex \(BATD, replaceall_matched begin (B1B2(ATD0,ATD1), end;into method label SMRD code_regex \(SMW0, replaceall_matched begin (B1B2(MW00,MW01), end;into method label SMWR code_regex \(\^PCI0\.LPCB\.EC\.SMW0, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.MW00,^PCI0.LPCB.EC.MW01), end;into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBRC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BR00,^PCI0.LPCB.EC.BR01), end;into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBFC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BF00,^PCI0.LPCB.EC.BF01), end;into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBVO, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BV00,^PCI0.LPCB.EC.BV01), end;into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBSN, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.SN00,^PCI0.LPCB.EC.SN01), end;into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DC00,^PCI0.LPCB.EC.DC01), end;into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDV, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DV00,^PCI0.LPCB.EC.DV01), end;into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBAC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.AC00,^PCI0.LPCB.EC.AC01), end;into device label EC code_regex SBCH,\s+32 replace_matched begin SH00,8,SH01,8,SH02,8,SH03,8, end;into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBCH, replaceall_matched begin (B1B4(^PCI0.LPCB.EC.SH00,^PCI0.LPCB.EC.SH01,^PCI0.LPCB.EC.SH02,^PCI0.LPCB.EC.SH03), end;into method label SMWR code_regex Store\s\(Arg3,\sSMW0\) replaceall_matched begin Store (Arg3,MW00) Store(ShiftRight(Arg3,8),MW01)  end;into method label RE1B parent_label EC remove_entry;into method label RXCB parent_label EC remove_entry;into device label EC insertbeginMethod (RE1B, 1, NotSerialized)\n// Arg0 - offset in bytes from zero-based EC\n{\n    OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n    Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n    Return(BYTE)\n}\nMethod (RXCB, 2, Serialized)\n// Arg0 - offset in bytes from zero-based EC\n// Arg1 - size of buffer in bits\n{\n    ShiftRight(Arg1, 3, Arg1)\n    Name(TEMP, Buffer(Arg1) { })\n    Add(Arg0, Arg1, Arg1)\n    Store(0, Local0)\n    While (LLess(Arg0, Arg1))\n    {\n        Store(RE1B(Arg0), Index(TEMP, Local0))\n        Increment(Arg0)\n        Increment(Local0)\n    }\n    Return(TEMP)\n}\nend;into device label EC code_regex (SBMN,)\s+(128) replace_matched begin BMNX,%2,//%1%2 end;into device label EC code_regex (SBDN,)\s+(128) replace_matched begin BDNX,%2,//%1%2 end;into device label EC code_regex (FLD0,)\s+(64) replace_matched begin FL0X,%2,//%1%2 end;into device label EC code_regex (FLD1,)\s+(128) replace_matched begin FL1X,%2,//%1%2 end;into device label EC code_regex (FLD2,)\s+(192) replace_matched begin FL2X,%2,//%1%2 end;into device label EC code_regex (FLD3,)\s+(256) replace_matched begin FL3X,%2,//%1%2 end;into device label EC code_regex (SMD0,)\s+(100) replace_matched begin SMDX,%2,//%1%2 end;into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBMN, replaceall_matched begin (^PCI0.LPCB.EC.RXCB(0xA0,128), end;into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDN, replaceall_matched begin (^PCI0.LPCB.EC.RXCB(0xA0,128), end;into method label SMRD code_regex \(\FLD1, replaceall_matched begin (RXCB(0x54,128), end;into method label SMRD code_regex \(\FLD2, replaceall_matched begin (RXCB(0x54,192), end;into method label SMRD code_regex \(\FLD3, replaceall_matched begin (RXCB(0x54,256), end;into method label BFWL code_regex \(SMD0, replaceall_matched begin (RXCB(0x54,100), end;into method label WE1B parent_label EC remove_entry;into method label WXCB parent_label EC remove_entry;into device label EC insertbeginMethod (WE1B, 2, NotSerialized)\n{\n    OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n    Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n    Store(Arg1, BYTE)\n}\nMethod (WXCB, 3, Serialized)\n// Arg0 - offset in bytes from zero-based EC\n// Arg1 - size of buffer in bits\n// Arg2 - value to write\n{\n    ShiftRight(Add(Arg1,7), 3, Arg1)\n    Name(TEMP, Buffer(Arg1) { })\n    Store(Arg2, TEMP)\n    Add(Arg0, Arg1, Arg1)\n    Store(0, Local0)\n    While (LLess(Arg0, Arg1))\n    {\n        WE1B(Arg0, DerefOf(Index(TEMP, Local0)))\n        Increment(Arg0)\n        Increment(Local0)\n    }\n}\nend;# Calling WXCB method to write into SMDX (offset 0x54)into method label SMWR code_regex Store\s?\(Arg3,\s?\SMD0\) replaceall_matched begin WXCB (0x54,100,Arg3) end;
After all the ACPI tables are properly patched save them all and
cd /path/to/patched/tablesiasl *.dsl
After getting the resulting patched aml files, place them in /EFI/Clover/ACPI/patched for Clover to load it

Finally you will need to generate an SSDT using ssdtPRGen.sh

 

https://github.com/Piker-Alpha/ssdtPRGen.sh

 

After you have your DSDT, SSDT-0, SSDT-1 and SSDT (the one generated by the script) place them all together in /EFI/Clover/ACPI/patched and in the ACPI section of your config.plist make sure to "Drop OEM" tables and set the "Sorted Order"

 

post-1517295-0-57484800-1484776902_thumb.png

 

 

post-1517295-0-80476900-1484776200_thumb.png

 

Overall I would say this laptop is quite perfect for a Hackintosh , I use it for a few months and I love it, hope you do too.

Edited by kosakgroove

Share this post


Link to post
Share on other sites

Thanks for the help, this is what made Display Port and VGA work

 

Number 1 - Kernel and Kext patches clover in order to fix VGA

Name: AppleIntelSNBGraphicsFB

Find: 010204001007000010070000050300000200000030000000020500000004000007000000030400000004000009000000040600000004000009000000

 

Replace:

010204001213000012130000050300000200000030000000020500000004000007000000030400000004000009000000060200001000000009000000

 

 

Number 2 - adding a DSM to the IGPU device in DSDT

Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method                {                    Store (Package (0x06)                        {                            "hda-gfx",                             Buffer (0x0A)                            {                                "onboard-1"                            },                             "model",                             Buffer (0x17)                            {                                "Intel HD Graphics 3000"                            },                             "built-in",                             Buffer (One)                            {                                 0x00                                                                       }                        }, Local0)                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))                    Return (Local0)                }
Number 3 - Adding HDMI device to DSDT
Device (HDMI)            {                Name (_ADR, One)  // _ADR: Address                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method                {                    Store (Package (0x02)                        {                            "hda-gfx",                             Buffer (0x0A)                            {                                "onboard-1"                            }                        }, Local0)                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))                    Return (Local0)                }            }
This Hack is functioning 100% in Mac OS X and certainly it performs so much better than in Windows

Enjoy our fully functional Hack :yes:

Share this post


Link to post
Share on other sites

cool - an addition to the Thinkpad x420 family! Certain this model has proven to be a great hack platform. Sierra works great on it too. interesting that the Audio and Ethernet are RealTek (vs Conexant and Intel). but every thing else looks to be about the same. if i ever needed to do it again, i certainly would use the patchmatic and hotpatch method for DSDT/SSDT for this box.

 

anyway, feel free to reference or leverage the T420 guide as needed - as this box is certainly very similar. I can add a link to this guide from the T420 Guide.

 

- The VoodooPS2 for T420 may have some trackpad settings that may be of value.

 

- not that matters that much - but your kext pack has some things that I wondered about? 

 

USB - seems these may not be needed since it just it only has USB 2 and no XHC (AFAIK)

USBInjectall  ?

PCIID XHCIMux ?

Disableturboboostbattery ?

Share this post


Link to post
Share on other sites

cool - an addition to the Thinkpad x420 family! Certain this model has proven to be a great hack platform. Sierra works great on it too. interesting that the Audio and Ethernet are RealTek (vs Conexant and Intel). but every thing else looks to be about the same. if i ever needed to do it again, i certainly would use the patchmatic and hotpatch method for DSDT/SSDT for this box.

 

anyway, feel free to reference or leverage the T420 guide as needed - as this box is certainly very similar. I can add a link to this guide from the T420 Guide.

 

- The VoodooPS2 for T420 may have some trackpad settings that may be of value.

 

- not that matters that much - but your kext pack has some things that I wondered about? 

 

USB - seems these may not be needed since it just it only has USB 2 and no XHC (AFAIK)

USBInjectall  ?

PCIID XHCIMux ?

Disableturboboostbattery ?

It would be a pleasure to have a reference in your great guide, I am currently trying your VoodooPS2 and its great :P i will edit the guide to reference it. I am using a USB3.0 card so i need GenericUsB XhciMux and Injectall for it to work properly

I have tried sierra as well but it doesnt run nearly as good as Capitan, maybe the next OSX version will be better hihihi

Share this post


Link to post
Share on other sites

I followed all the steps in the first post, but when I try to load the El Captian installer it fails with: p state stepper error 18 at step 2 in context 2

Does anyone know why?

 

Thanks in advance,

Alec

Share this post


Link to post
Share on other sites

I followed all the steps in the first post, but when I try to load the El Captian installer it fails with: p state stepper error 18 at step 2 in context 2

Does anyone know why?

 

Thanks in advance,

Alec

Try "DropOEM=True" first as Sandy Bridge CPUs with Turbo Boost enabled won't pass the AICPUPM check without a proper ssdt.aml from PikeRAlpha's script

Share this post


Link to post
Share on other sites

Try "DropOEM=True" first as Sandy Bridge CPUs with Turbo Boost enabled won't pass the AICPUPM check without a proper ssdt.aml from PikeRAlpha's script

Mine didnt have this issue but i suppose it can help in some cases , nice tip :D

 

 

Sent from my iPhone using Tapatalk

Share this post


Link to post
Share on other sites

@Alec M

 

make sure you generate P/C states with Clover (or ssdt-pr script).

you may want to check out the config.plist in the T420 zip for another reference for valid options.

 

Note: it is even possible to boot without any custom DSDT/SSDT with the right config.plist. anyway here is snippet of config.plist from ACPI that may help

<key>DropTables</key>
  <array>
   <dict>
    <key>Signature</key>
    <string>SSDT</string>
    <key>TableId</key>
    <string>Cpu0Ist</string>
   </dict>
   <dict>
    <key>Signature</key>
    <string>SSDT</string>
    <key>TableId</key>
    <string>CpuPm</string>
   </dict>
   <dict>
    <key>Signature</key>
    <string>DMAR</string>
   </dict>
  </array>
  <key>ResetAddress</key>
  <string>0x0CF9</string>
  <key>ResetValue</key>
  <string>0x06</string>
  <key>SSDT</key>
  <dict>
   <key>Generate</key>
   <dict>
    <key>CStates</key>
    <true/>
    <key>PStates</key>
    <true/>
   </dict>
  </dict>

Share this post


Link to post
Share on other sites

Nevermind! I got it working without that.   :thumbsup_anim:

 

I'm not sure if it's because I have an i7 2730QM or not.

 

Thanks for the help!

Share this post


Link to post
Share on other sites

@kosakgroove

 

When I'm trying to apply the DTGP DSDT patch through MaciASL, it won't apply it because it thinks that there is nothing to change.

 

Is this fixable?

Share this post


Link to post
Share on other sites

@kosakgroove

 

When I'm trying to apply the DTGP DSDT patch through MaciASL, it won't apply it because it thinks that there is nothing to change.

 

Is this fixable?

Dtgp is one of the first patches to apply, maybe thats your problem

 

 

Sent from my iPhone using Tapatalk

Share this post


Link to post
Share on other sites

Dtgp is one of the first patches to apply, maybe thats your problem

I tried it before patching anything, and after patching everything, with no luck.

Share this post


Link to post
Share on other sites

I tried it before patching anything, and after patching everything, with no luck.

DTGP is so generic and widespread, maybe try another version if the patch from somewhere else, it should work. Worst case you can always use the AddDTGP option in Clover

 

 

Sent from my iPhone using Tapatalk

Share this post


Link to post
Share on other sites

@kosakgroove

 

I'm just wondering, but what OS check patch did you use?

Also, did you use the HD3000/HD4000 graphics patch, and not any of the other igpu brightness fixes?

Share this post


Link to post
Share on other sites

@kosakgroove

 

I'm just wondering, but what OS check patch did you use?

Also, did you use the HD3000/HD4000 graphics patch, and not any of the other igpu brightness fixes?

I used the generic brightness fix, named "Brightness Fix" nothing else.

Worth noting that this method currently not working well with Sierra

Finally upgraded the Thinkpad L420 to Mac OS Sierra

Everything is working even better than in El Capitan. Only issue for now is that brightness keys are not fully functional, and brightness slider in System Preferences is unresponsive. Brightness changes only using Brightness Menu Bar app from App Store.

 

post-1517295-0-50089600-1485796329_thumb.png

 

Everything is working cool with Sierra, 

I am working on ditching VoodooPS2 for ApplePS2SmartTouchpad and it just needs a bit more optimization and it will be ready for you guys to enjoy. It works every boot unlike VoodooPS2, although after sleep it stops working, and it might cause you a kernel panic. In case you feel like trying, here is my modded version of it.

All gestures working as well as scrolling

 :D

 

ApplePS2SmartTouchPad kosakgroove.kext.zip

Share this post


Link to post
Share on other sites

I used the generic brightness fix, named "Brightness Fix" nothing else.

I tried that, but when I changed the brightness, it wouldn't actually change the display's brightness.

Also, I can't see the volume control at the top of the screen, or the Bluetooth control.

Sound and Bluetooth are working though.

Share this post


Link to post
Share on other sites

It is all in System Preferences buddy :D

 

post-1517295-0-32852700-1485858025_thumb.png

 

post-1517295-0-74219800-1485858036_thumb.png

 

 


I tried that, but when I changed the brightness, it wouldn't actually change the display's brightness.

Also, I can't see the volume control at the top of the screen, or the Bluetooth control.

Sound and Bluetooth are working though.

Are you using IntelBacklight kext?

Share this post


Link to post
Share on other sites

for brightness:

 

Note: at the time of this post, IntelBacklight will not work for macOS past 10.12.3 (10.12.4PB1 breaks something). 

the brightness slider should work with or without this kext - IntelBacklight.kext makes a smoother and fuller range

the only thing needed in the DSDT is PNLF that looks like this. ( if you use ACPIBacklight more extensive DSDT mods are needed.)

 

Device (PNLF)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
                    Name (_CID, "backlight")  // _CID: Compatible ID
                    Name (_UID, 0x0A)  // _UID: Unique ID
                    Name (_STA, 0x0B)  // _STA: Status

                }

Share this post


Link to post
Share on other sites

I have a weird bug I have noticed, and it only happens when Mac OS X is installed in the hard drive.

I get a message 2 out of 3 times I boot or restart the computer... 

 

0251- CMOS bad checksum error - Default configuration used

 

After I press Esc then the computer resets the BIOS and successfully boots Clover from the GUID disk.

 

I already changed the CMOS battery for a brand new one and the error kept popping up. Then I installed the latest original BIOS from Lenovo and the error continued there. So I flashed again the custom BIOS mentioned in the first post. Then  I inserted a HDD with Linux installed, and after like 20 boots I noticed the error was not there, even with the custom BIOS.

 

Then I tried with Windows, and the error also was not there. So I thought maybe the bug is gone, and proceeded to reinstall Mac OS X with Clover and yes, the error came back....

 

I figured maybe using the Apple RTC fix in Clover would help, but it doesn't

 

We are left with two explanations... This Lenovo does not like to have a GUID hard disk as a boot device or it is Mac OS X that randomly writes something to the BIOS or EFI partition and corrupts that boot sector, giving the checksum error. Weird thing is that it doesn't happen every boot, that is what really boggles my mind.

 

Is there anyone who could help debug this issue???

 

Share this post


Link to post
Share on other sites

there are some others reporting CMOS errors on the latest Clover. a solution could be to compile Clover say 3994 with older edk2 like 23701

This has been happening AFAIK since Clover 32xx

Has anyone had any success fixing this issue?

Share this post


Link to post
Share on other sites

have not seen this on the T420

I am going to try to install Mac OS in a MBR disk to find out if its the GUID partition scheme

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By glasgood
      GLASGOOD'S
       
      MOJAVE HACKINTOSH GUIDE 
       
       

       
      **FOR**  GIGABYTE Z390 AORUS PRO
       

       
       
      CREDITS & THANKS
       
      @MaLd0n
      His help with EFI configuration and DSDT
       
      CLOVER  TEAM
      Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, rehabman, Download-Fritz, Zenit432, cecekpawon Et al
       
      APPLEALC
      Acidanthera, vit9696
       
      VOODOOHDA
      autumnrain, slice2009, zenith432
       
      ESP PRO MOUNTER
      @Micky1979 
       
      HACKINTOOL
      @headkaze
       
      CLOVER CONFIGURATOR
      Mackie100
       
      THEME ENGINE
      Alex Zielenski
       
      INSANELYMAC
      OLARILA
       
      Hackintool Tutorial
      daliansky
       
       
      and many more....
       
      ------------------------------------------------------------------------------------------------------------------------------------------------------------
       
       
       
      PART LIST
       
      • Intel I7 8700 
      • Gigabyte Z390 AORUS PRO
      • Gigabyte AORUS RADEON RX 580 8GB
      • Corsair Vengeance LPX 16GB ( 2 x 8GB ) 2666MHz – CMK16GX4M2A2666C16
      • Corsair RM650x 80 Plus Gold Power Supply Unit
      • Corsair H100i V2 AIO Hydro/Water RGB LED CPU Cooler
      • Samsung EVO 500GB SSD (2.5) macOS Mojave
      • Samsung EVO 250 GB SSD (2.5) Windows 10 Pro
      • NZXT H500 Mid Tower ATX Case
       
      • RECOMMENDED WIFI CARD → ABWB 802.11AC WI-FI With Bluetooth 4.0 PCI-Express (PCI-E) BCM943602CS  
      OR
      • WIFI and Bluetooth with BCM94331CD with PCI-e adapter (but will require AirportBrcmFixup.kext for AirDrop.. )
       
       
       
      WORKING
       
      • Sound 
      • HDMI audio on RX580
      • Ethernet Port
      • WiFi
      • SSD Trim
      • USB 3.0 & 2.0 
      • AirDrop
      • iCloud
      • Hardware Acceleration
      • iMessages
      • Facetime
      • Handoff
      • Continuity
       
       
       

       

       

       
       
       
       
       
      PART 1 - DOWNLOAD 
       
       
      Download the following:
       
      • CLOVER
       
      • Aorus Z390 Pro EFI .zip
       
      • ESP MOUNTER PRO v1.9
       
      • macOS MOJAVE 
       
      • CLOVER CONFIGURATOR
       
      • EmuVariableUefi-64.efi  ( Used only to initialise iMessages. It then must be removed from Clover drivers64UEFI folder, explained in guide)
       
      • OsxAptioFix2Drv-free2000.efi ( Replace AptioMemoryFix-64.efi post install )
       
       
      OPTIONAL DOWNLOADS
       
      • VoodooHDA.kext.zip 

      • ThemeEngine 
       
      • Assets.car 
       
       
       
      PART 2 - BIOS SETTINGS (version F5 )
       
       
      Here is a list of the BIOS settings that I have used ( Screenshots in spoiler below )
       
      • Enter BIOS → Press F12 → Enter Setup
      • Save & Exit → Load Optimized Defaults
       
      • BIOS → Windows 8/10 Features → Other OS
      • BIOS → CSM Support → Enabled
       
      • Peripherals → Initial Display Output → PCIe 1 Slot
      • Peripherals → Trusted Computing → Security Device Support →  Disable
      • Peripherals → Intel(R)Bios Guard → Intel BIOS Guard Support →  Disable
      • Peripherals → USB Configuration → Legacy USB Support →  Enabled
      • Peripherals → USB Configuration → XHCI Hand-off →  Enabled
      • Peripherals → Network Stack Configuration → Network Stack →  Disabled
      • Peripherals → SATA And RST Configuration → SATA Mode Selection →  AHCI
       
      • Chipset → Vt-d → Disabled
      • Chipset → Internal Graphics → Enabled
      • Chipset → DVMT Pre-Allocated → 64M
      • Chipset → DVMT Total Gfx Mem → 256M
      • Chipset → Audio Controller → Enabled
      • Chipset → Above 4G Decoding → Enabled
       
      • Power → ErP → Disabled
      • Power → RC6 (Render Standby) → Enabled
       
      // IF USING  CORSAIR H100i V2 AIO CPU WATER COOLER 
      • MIT → Smart Fan 5 Settings → CPU Fan Control mode → PWM 
       
      • Save & Exit → Save & Exit Setup
       
      SCREEN DUMP SPOILERS
       
       
       
       
       
      PART 3 – CREATE A MOJAVE USB FLASH INSTALLER
       
      Prepare USB Installer for Mojave ( Video below )
       
      • Insert USB drive
      • Launch /Applications/Utilities/Disk Utility
      • Disk Utility → View → Show All Devices
      • On Left-hand panel → External →(Identify your USB device in left hand panel)
      • Click and highlight your USB device in the left-hand panel.
      • Click erase button.
      • Name: USB
      • Format: Mac OS Extended (Journaled )
      • Scheme: GUID Partition Map
      • Click Erase button.
       
      • Place the downloaded MacOS Mojave app into Applications folder.
      • Open Terminal copy and paste:
       
      sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction && say Mojave Drive Created  • Enter
       
       
       
       
       
       
       
      PART 4 – INSTALL CLOVER ON THE MOJAVE USB INSTALLER 
       
      Make Mojave USB flash drive installer bootable.( Video below )
       
      • Launch Clover application, double click.
      • Click Continue → Continue → Continue 
      • Click Change Install Location button.
      • Click Install macOSMojave USB installer → Continue
      • Click Customize button
      • Choose:
      Clover for UEFI booting only Install Clover in the ESP Themes UEFI Drivers Install RC scripts on target volume • Click Install button
      • Installation Complete!
       
      Video:
       
       
       
       
       
       
      PART 5 – CUSTOMIZE MOJAVE USB INSTALLER FOR AORUS Z390 PRO
       
      Replace Clover EFI folder with the customised AORUS Z390 configuration ( Video below )
       
      • Install ESP Mounter Pro v1.9
      • Using ESP Mounter Pro, Mount ESP on disk2s1 ( Your disk name may be different )
       

       

       
       
       
      • Open mounted EFI partition found on desktop
      • Copy all the contents from Aorus 390 Pro EFI folder
      • Replace USB EFI folder with all the contents inside the Aorus 390 Pro EFI folder.
       
       

       
       
       
       
       
       
       
       
      PART 6 – INSTALL MAC OS MOJAVE ON INTERNAL DRIVE

      • INSERT USB INSTALLER INTO THE USB 2.0 PORT  
       
       
      • Power on PC and press F12• Choose bootable USB drive from boot menu.
       
       
       
      • Install macOS Mojave to internal solid state or hard drive.
       
      NOTE
      During install the system will reboot and you will see onscreen message EXC_CORPSE_NOTIFY exception. This instance is normal,  no skeletons !.
       
       
      When system returns to the Clover boot menu choose:
       
      • Boot macOS Install Prebooter from Preboot
       
       
       
      After next restart choose:
       
      • Boot macOS from Macintosh
       
       
       
      Proceed with macOS Mojave install
       
       
      macOS Mojave is now installed, but it can only boot at this moment thanks to FakeSMC and Clover on the Mojave USB flash drive installer.
       

       
       
       
       
       
       
      PART 7 – MAKE AORUS Z390 PRO INTERNAL DRIVE BOOTABLE
       
      Make internal drive bootable ( Video below )
       
      So far, Aorus Pro can only boot with the aid of the Mojave USB Installer.
      To boot from the internal drive, copy Clover EFI folder from  Mojave USB installer into the  Internal EFI drive.
       
      • Using ESP Mounter Pro, mount internal EFI/ESP partition and external USB EFI/ESP
      • Copy contents from USB EFI/ESP partition and paste into internal EFI/ESP
       
       
      Video:
       
       
       
      • Remove USB Mojave installer and shut down and restart.
       
      Aorus Hackintosh should now be able to boot to macOS Mojave, Done, well almost ! 
       
       
       
       
       
      PART 8 – ENABLE IMESSAGES & FACETIME 
       
       
      Configure Config.plist for iMessages. ( Video below )
       
      • SMBIOS = Mac Mini 8.1
      • Rt Variables —> ROM —> is your MAC address (delete colons from Mac address)
      • MLB field =  Enter serial number generated and append 5 random characters
      • SmUUID = in Terminal run command “uuidgen” and copy it to SmUUID field
      • Board Serial is same as MLB field.
      • Clover Configurator —>  Save 
       
      Video:
       
       
       
      • Mount internal drive EFI/ESP partition
      • Go to folder CLOVER → drivers64UEFI 
      • Delete AptoMemoryFix-64.efi
      • Place both EMUVariableUefi-64.efi and OsxAptoFix2Drvfree2000.efi inside → drivers64UEFI
       
       
      Using Clover Configurator, add the following argument to config.plist using Clover Configurator.
       
      • Slide = 0
       

       
       
      Shutdown and then press power on button on PC.
       
      • You should now be able to Log into iCloud, iMessages and FaceTime
      • NOW delete EMUVariableUefi-64.efi from CLOVER → drivers64UEFI Folder 
      • Shutdown and restart Aorus Pro hackintosh. iMessages etc is now operational without EMUVariableUefi-64.efi ( EMUVariableUefi-64.efi only needed to initialise iMessages )
      • It is important to delete EMUVariableUefi-64.efi, this will avoid very intermittent boot errors such as: “Couldn’t allocate runtime area”  post errors.
       
       
       
       
       
      DEFAULT SSDT –  DEFAULT SSDT USB PORTS FIX CONFIGURATION - SSDT ALREADY INSIDE AORUS Z390 EFI FOLDER
       

       

       

       
       
      Limitation: USB2 devices can not be used on SS03 → SS08
       
       
       
       
       
       
      ------------    GUIDE FINISHED YOU SHOULD NOW HAVE WORKING AORUS Z390 PRO HACKINTOSH  WITH SSDT USB FIX   ------------
       
       
       
       
       
       
      OPTIONAL:  Enable HDMI Audio on RX580
       
       
       
       
       
       
      OPTIONAL:  Replace the default "About This Mac" Apple Logo with RED AORUS APPLE
       
       
       
       
       
       
      OPTIONAL - ALTERNATIVE SSDT 1 –  SSDT Ports configuration below - replace SSDT inside Clover /ACPI/PATCHED folder 
       
       
       
       
       

      OPTIONAL - ALTERNATIVE SSDT 2 -  SSDT Ports configuration below - replace SSDT inside Clover /ACPI/PATCHED folder 
       
       
       
       
       

      OPTIONAL - ALTERNATIVE SSDT 3 – Create your own SSDT
       
       
       
       
       
       
       
      OPTIONAL:  Dual Boot macOS Mojave & Windows 10 
       
       
       
       
       
       
      FOR MORE HACKINTOSH INFORMATION SUCH AS USB PORTS FIX, CLOVER CONFIGURATOR, HACKINTOSH BACKUP WITH CARBON COPY CLONER .....   THEN SEE MY PREVIOUS GUIDE FOR ASUS Z370-G Strix
       
       
       
       
       
       
       
       
       
       
       

       
       
       
       
       
       
       
       
      SSDT-UIAC.aml.zip
      SSDT-UIAC.dsl.zip
    • By glasgood
      CLOVER DUAL BOOT MOJAVE & WINDOWS 10 GUIDE 
       

       
       
      INCLUDES  MBR / LEGACY BIOS  TO  GPT / EFI CONVERSION
      USING MBR2GPT TOOL
       
       
      PREREQUISITE: Two physical discs ( SSD’s or HDD’s )
       
       
       
       
       
      STEP 1 - Clover dual boot configuration 
       
      Open config.plist with Clover Configurator
       
      Boot
       Legacy = PBR Timeout = True ( will remove the Timeout countdown, from Clover boot menu)  

       
      GUI 
      Scan / Custom
       Entries = True  Tool = True  Legacy = False ( removes extra Windows 10 entries )  
      Hide Volume
      - Preboot ( macOS Preboot )
      - Recovery ( macOS Recovery )
       

       
      So at boot you will have two options: boot macOS Mojave or Windows 10 
       
       
       
       
       
       
       
      ————————————————————
       
       
      STEP 2 - Using a drive without Windows 10 installed
       
      Disconnect system drive that contains your macOS Mojave install from computer ( This is so that Windows does not overwrite existing macOS Mojave boot loader )
       
      Proceed with a Windows 10 UEFI install.  
      After installation reconnect macOS Mojave Drive, the Windows installation should now be detected and usable in Clover. 
      If Windows 10 is not detected or able to boot,  then verify you installed Windows 10 as UEFI and not MBR ---->  ( Read step 2 - For a drive with Windows 10 installed )
       
       
      OR
       
       
       
      STEP 2 - Using a drive with Windows 10 already installed
       
      Verify your Windows install is  GPT / UEFI or MBR / Legacy BIOS.   
      If Windows install is GPT UEFI then Windows 10 install is ready to use at Clover boot menu, you should be able to boot into Windows directly from Clover boot screen. 
       

       
       
      But if  Windows drive is detected at Clover boot screen, but when booting Windows you get a black screen with a cursor on the top left,
      then this is most likely because Windows drive is MBR ( Legacy BIOS ).  You can easily convert MBR to GPT using  Windows MBR2GPT tool ( this saves hours work having to reinstall Windows 10 and setting up all your applications again  ) 
       
      If Windows 10 install is MBR / Legacy BIOS  then simply convert to GPT / UEFI  following instructions below ( read video summary and view video )
       
       
      ** To use Windows 10  MBR2GPT tool  you must have Windows 10 version 1703 ( creators update  ) or later and less than 3 partitions on 
      the Windows 10 drive **
       
      Video summary:
       
      Confirm Windows 10 drive is MBR Legacy BIOS ( in Windows Disk Management ) Reboot into Windows PE ( Advanced Startup ) Convert from MBR Legacy BIOS to GPT UEFI ( using commands below ) mbr2gpt /validate mbr2gpt /convert Restart Verify Windows 10 drive has changed to GPT UEFI ( in Windows Disk Management )  
       
       
       
      After conversion Windows 10 is ready to use at the Clover boot menu 
       
       
    • By SepehrM
      I'm trying to install High Sierra 10.13.3 on an ASUS N552VW laptop, and I get stuck after this message:
      "could not recover SATA HDD after 5 attempts, terminating" 
      And some other warnings afterwards.
      Specs:
      CPU: Intel Skylake 6700HQ 2.6GHz
      RAM: 16GB DDR4
      2TB HDD + 128GB SSD
      GPU: Intel HD Graphics 530 + Nvidia GTX960m
      I'm installing using a 16GB USB3 flash drive on one of HDD volumes (UEFI Mode)
       
      I uploaded the verbose log and clover config.plist
      config-new.plist

    • By Bahaa
      Need help here
      My graphic card is detached 7mb
      and I try a lot of solution and no one work 
      can any one help
       

×