Jump to content

Lenovo ThinkPad T420 with UEFI Only

* * * * * 10 votes UEFI ThinkPad T420 Lenovo Clover

Best Answer tluck, 08 October 2013 - 02:47 PM

30-June-2014 - 10.9.4 update

  • Clover updated to v2747
  • 10.9.4 - 2 custom kexts updated in 10.9.4 since 10.9.3 -  AppleHDA.kext and BroadcomBluetooth kext must be replaced if you do the Update installation. 

25-June-2014 - changes since 22-May

  • Clover updated to v2721
  • Collapsed Clover folders to remove OEM - common configuration set for both USB installers and on the HD.  (also can boot Recovery HD)
  • FakeSMC.kext updated to v6.8.1315
  • VoodooPS2Controller.kext updated to v1.8.13 - Compiled and modified Info.plist(s) to add LENOVO T420 keys. Removed HP and few other non-relevant options in various Info.plist files
    Note: TrackPad pressure FingerZ value set to 47 - up from default of 30  - change to suite your touch in VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2TrackPad.kext/Contents/Info.plist
  • DSDT mods to KBD device - renamed to PS2K and added LENOVO OEM-ids for VoodooPS2Controller to use.
  • Revised Pike's ssdt generation script and included local copy of iasl

22-May-2014 - 10.9.3 update - changes since 10.9.2

  • Clover updated to v2671
  • Kexts updated to OSX 10.9.3
  • FakeSMC.kext updated to v6.8.1307
  • Recompiled/fixed up VoodooPS2Controller 1.8.11 for double click issue on TrackPoint buttons
  • Revised (again) top-level config.plist for "DSDT-less" OS install, Clover patches built-in on-the-fly
  • Fixed up ssdtPRgen-clover.command script to copy ssdt.aml into proper ESP OEM location when mounted.
  • Added RehabMan's ACPIBacklight.kext v2.0.2 for smoother dimming. (patched DSDT included)
  • RehabMan's DSDT mods to PNLF for ACPIBacklight.kext to function (adds wider smoother LCD brightness range)

T420 users:


Attached is a current full /EFI pack for the T420 for Clover and OSX 10.8.5 (12F45) and 10.9.4 (13E28).



My system is a T420 1600x900 LCD with dedicated Intel HD 3000 Graphics Only ... So can't speak to enabling Nvidia gfx myself.  This is a zip contains what is working for me. The guide outlines the 2 phases: (1) how create a USB installer and install OSX, and (2) run OSX for your HD. If your HW is not similar as mine, the included DSDT and configuration files may need to be retrofitted to work for your system. 



  • A config.plist + kexts for Clover to boot without a custom DSDT file for the OS install 
  • Separated by LCD size -  config.plist with a custom DSDT for Clover to boot via UEFI, post OS install
    • ACPI.1600x900 folder - has dsdt.aml for high-res LCD with DualLink=1 and injects a good/patched EDID
    • ACPI.1366x768 folder - has dsdt.aml for low-res  LCD with DualLink=0 and no injected EDID
    • Note: the CPU section is not needed in the config.plist anymore, as Clover computes Bus Speed ok in later revs - check it though! should be around 99676 - 99700 to keep system clock accurate.
    • A current Clover and Kext Bundle for 10.8.5+10.9.3 is here in this post
  • An older non-maintained Kext Bundle for 10.8.4 is in post #241

ACPI Notes:

  • the new DSDT conforms (more) to the native unmodified kexts ACPI spec... may not have to replace the AppleACPIPlatform.kext.
  • AppleACPIPlatform.kext v2.0 (10.9.x) works with new DSDT
  • AppleACPIPlatform.kext v1.8 (10.8.5) works with new DSDT
  • AppleACPIPlatform.kext v1.7 (10.8.4) works but does not wake as well when you have external eSATA/USB drives.  
  • Notes:  there are kext folders for 10.8 and 10.9 - but many of the kexts are the same.



- the DSDT is based on BIOS v1.46 (whitelist mod or stock)

- Most defaults settings will work - but make sure SATA is set to AHCI mode and disable VT-d in the Virtualization option.

- disable Nvidia


Custom Kexts

Mountain Lion (10.8.5)

  • FakeSMC.kext (v6.x.xxxx) - Core hack mechanism. Using Kozlek's version + plugins - Note: Follow link to download full package - so you can install HWMonitor.app etc (no need to re-install FakeSMC.kext unless there is a newer rev - so if you do install - just select these 2 Plugins Sensors: ACPI and CPU)
  • AppleIntelE1000e.kext (v3.0.4.1) - Ethernet (gigE) - goes in /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns
  • VoodooPS2Controller.kext (v1.8.x) - RehabMans's PS2 Keyboad/Trackpad -   Note: Follow link to get full package and installation instructions to install daemon and pref-panel 
  • ACPIBatteryManager.kext (v1.52) - RehabMan's kext configured for v3 ACPI instructions to show/track battery info on menu bar
  • ACPIBacklight.kext (v2.0.2) - RehabMan's kext for smoother/enhanced LCD backlight (dimming) control.
  • IOAHCIBlockStorageInjector.kext -  configured to make just the DVD device appear internal so iDVD player works. 

    These kexts are 10.8.5 specific:

  • AppleHDA.kext (v2.4.7 patched from 10.8.5)- for full audio support - note: requires matching DSDT sections using Conexant Codec and layoutID 12. Note: AppleHDA.kext has Manwe150's fix/additions for dock ports.
  • BroadcomBluetoothHostControllerUSBTransport.kext (v4.1.7 with patched Info.plist from 10.8.5) - adds ProductID 8575 to make BT work! Put/replace one in /S/L/E/IOBluetoothFamily.kext/Contents/PlugIns

Mavericks 10.9.x  - use kext inject or install in /S/L/E (/System/Library/Extensions).


   These 5 kexts are the same as in the 10.8 folder

  • FakeSMC.kext
  • AppleIntelE1000e.kext
  • VoodooPS2Controller.kext
  • ACPIBatteryManager.kext
  • ACPIBacklight.kext
  • IOAHCIBlockStorageInjector.kext 

   These kexts are 10.9 specific:

  • AppleHDA.kext (v2.6.3 patched from 10.9.4) - for full audio support (analog and DisplayPort/HDMI) Note: requires matching DSDT HDEF device sections using layoutID 12. (kext is patched for CX20590 codec)
  • BroadcomBluetoothHostControllerUSBTransport.kext (v4.2.6 with patched Info.plist from 10.9.4) - adds ProductID 8575  in Info.plist to make BT work better! Put/replace one in /S/L/E/IOBluetoothFamily.kext/Contents/PlugIns

​10.*-Chameleon - extra patched kexts for use with Chameleon 

  • AppleIntelCPUPM.kext (patched 10.8.5 and 10.9.3) - not really necessary to install/replace with clover since it does the patching. Optional Install in /S/L/E for Chameleon compatibility.

General Notes, Fixes, and Features of the Zip

  • 2 configuration files (Clover config.plist) 
     a ) config.plist               - (default) to use the custom DSDT and WITH extra Clover patching
     b ) config.nodsdt.plist   - this testing version - everything works except battery levels
                                           - remove/rename DSDT.aml and use built-in/BIOS DSDT with Clover patching
  • Model is to set MacBookPro8,1 explicitly in config.plist. (needed to get proper DP/HDMI/DVI/VGA FrameBuffers)
  • Zip includes extra and custom kexts plus cVad's Kext Utility to v2.5.7 for easy kext installation (or you can use manual kext  _install_SLE.bash script)
    Note: VoodooPS2Controller keyboard mappings have 3 or 4 finger swipe left/right to back/forward for browsers configured.
  • removed ssdt.aml files from zip and added ssdtPRgen-clover.command script so you can create your own SSDT P/C state tables
  • High-res vs low-res config.plist (and DSDT) are very consistent - difference is EDID and DualLink settings.
  • Note: for 1600x900 the EDID is injected by Clover and is also in the 1600x900 version of the DSDT for - there are 2 sets of timings for 60 and 50 Hz options
  • Added folder for Displays/Overrides (for more natural color gamma curves and more screen size options) in this zip
  • Swapped out VBoxHFS-64.efi for HFSPlus-64.efi - supports installation bundles and Recovery HD better.
  • Clover patches string for SNBFrameBuffer kext to fix brightness LCD before sleep - now its the same brightness before and after. Thanks to Timewalker75a (again!)
    Note: this same kext patch replaces the 4th port/buffer (DVI on dock) with VGA on left side. The 4 ports after patch are: LCD, DisplayPort on side, DisplayPort on dock, VGA on side. If you need DVI on the dock - then you can either not do this! Or replace the 3rd port (DP) if you want the VGA.
  • Thinkpad theme (updated) to show badge (disk type) and added a Mavericks 10.9 Icon instead of using generic apple.
  • ScrLk and Pause keys change LCD brightness. ThinkPad button toggles fan to high speed.
  • Alt key is the Command key and Microsoft flag key is the Option key.

DSDT tweaks since 10.8.x version:

  • DSDT includes source and binary with recent patches (beyond Clover and manwe150's edits)
  • Added MaxBeepBootVolume to DSDT to rid AppleHDA assertion on startup

  • Shutdown fixes in DSDT  _PTS and _WAK (thanks to TimeWalker75, RehabMan and Manwe150)

  • Battery fixes so one use native/current ACPIPlatform kext with Rehabman's ACPIBatteryManager kext - no need to rollback or patch AppleACPIPlatform.kext anymore.

  • Change/fix to reset LEDs for proper sleep/wake status


The DSDT (in OEM folder) has some mods in the IGPU are that remove glitches/hangs on either Clover (or Chameleon.)





Part 1 - OS Installation


Install (or reinstall/update) OS X to a GUID/GPT formated disk from a USB using the standard Install OSX .app

You can use this zip to build a Clover-based USB installer and then install on HD for UEFI boot.

  • For Mountain Lion (10.8.x) install USB
  1. Download Mountain Lion from the App Store - puts in /Applications
  2. Partition an 8GB USB as GUID (use option menu to change from MBR) - name this partition USB
    Note: if you have a larger USB (say 16GB) you can split into 2 8GB partitions, so you can have 10.8.x and 10.9.x installers on the same USB key
  3. Use Disk Maker to create an Installer from the downloaded Install Mountain Lion OSX.app

    Note: you may need to disable BlueTooth in the BIOS to install 10.8.5 directly. Enable later when you boot up.
  • For Mavericks (10.9.x) install USB
  1. Download latest Mavericks from the App Store - default location is in /Applications
  2. Partition an 8GB USB as GUID (use option menu to change from MBR) - name this partition USB
    Note: if you format the USB as MBR, then you will need to install the Clover boot tools (after) - see note at the bottom.
  3. Run this command:
    sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ Mavericks.app —nointeraction
  • Common steps
  1. manually mount ESP of USB and copy the entire EFI folder (from the zip) onto USB ESP
    For example, assuming the USB is disk2:

    sudo mkdir /Volumes/ESP-USB
    sudo mount -t msdos /dev/disk2s1 /Volumes/ESP-USB
    sudo cp -a ~/Downloads/T420/EFI /Volumes/ESP-USB

    Note: run "diskutil list" on the command line to find your USB disk
             if your USB is MBR format - just copy the EFI structure to the / (root) of the main partition instead!


  2. Setup configuration files to match your LCD resolution in /Volumes/ESP-USB/EFI/CLOVER:
    1. ​​​Rename ACPI.1600x900 to ACPI or rename ACPI.1366x768 to ACPI
    2. Rename config.1600x900.plist to config.plist or rename config.1366x768.plist to config.plist
  3. Boot from USB and select Install OSX
  4. Install on your GUID OSX partition!

TIP: enable debug mode for Disk Utility to see all the partitions (such as hidden EFI). From the Terminal command line, run this:

sudo defaults write com.apple.DiskUtility DUDebugMenuEnabled 1

Part 2 - Post OS Installation and Setup on HD

  1. Boot Clover from USB - but now select the new OS X partition to start OS X. 
    This will boot up OS X with Clover using the custom kexts with the "top" level config.plist.
  2. Install Clover to HD 

    a ) Run the full Clover_v2k_rxxxx.pkg to install the related latest bits into the HD OS and ESP (usually partition 1) of disk0. Use the link to download the pkg from SourceForge.  You can do this step later on if you don't have way to get it before you are setup on the network. Select (check box) at least first 2 items! This picture shows a good set of overall options:
    [attachment=134184:clover-pkg-install.png] After you close the pkg installer, then follow these step:

    b ) REPLACE the ESP (EFI folders) contents with the exact CLOVER folder as your setup on USB from steps above. If not still automatically mounted by the installer pkg, manually mount the ESP of your HD on say /Volumes/ESP. Then copy and replace the folders /Volume/ESP/EFI/CLOVER and BOOT from the USB installer you just built and used.
  3. Install custom kexts on HD
    • Recommended: Use the folder with its config.plist with the custom dsdt.aml (as is) to start.  And install the custom kexts from the zip folder to the /System/Library/Extensions folder. 

      Install these kexts from the zip folder EFI/CLOVER/kexts/10.[8 or 9] by either method:
      - if you don't have a GUI, use the included shell script _kext-install-SLE.bash

      - if you have a GUI, then use the Kext Utility tool (from cvad included in Utilities folder). 

      Note: If you choose to NOT install the custom kexts in the OS /S/L/E folder, then modify the config.plist to force injection of these custom kexts. Note: Injecting AppleHDA and BroadcomBluetooth kexts from the ESP may conflict unless the originals are removed from /S/L/E. 
  4. Install (copy) the DisplayVendorID-* folders
    These are from the zip file and should be put in /System/Library/Display/Overrides
    Note: These provide alternate color correction and gamma curves as well as more screen sizes for just a few LCD models. 
  5. Reboot - Boot Clover from HD vs USB.
    Hit the spacebar on your boot selection (OSX) to start up
     without kext caches to make sure it loads all the custom kexts just installed. 
  6. Ethernet Device Install
    Note: This step is optional but usually needed after a fresh OS install.
    This loads the ethernet kext and resets network device order to have ethernet as en0 (may help with iMessage etc)
    Run this set of commands in a terminal window:
    sudo kextload /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleIntelE1000e.kext
    sleep 10
    sudo rm       /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
  7. Create a custom SSDT
    This is for proper P/C states to match system (optional - but this tool may do a better job than Clover) 
    Run the custom ssdtPRgen-clover.command script in Zip Utilities folder. It should ask you if you want copy ssdt.aml to your ESP ACPI/patched folder, otherwise copy/move ssdt.aml to the same location as your custom dsdt.aml 
    which is: /Volumes/ESP/EFI/CLOVER/ACPI/patched

    Note: it will copy iasl from the Utility folder to /usr/local/bin/iasl

  8. Reboot a final time to use the new SSDT table (and other changes from last 3 steps)


Known Issues:

  • E1000e ethernet hang: with the 2.5.4d and 3.0.4.x version of the Intel E1000e ethernet kext, I have seen some random problems. I rolled back to v2.4.14 and have not had issues lately. The issue crop up under heavy file copy/transfers and your ethernet stops working with a lot of log messages that only a reboot fixes. 

Note: the 4 problems listed below happened with earlier versions of Clover, but on 10.9.2 or later, and with the rewrite of Clover and OsxAptopFixdrv-64.efi, these UEFI/ESP issues are seem to be a thing of the past.

  1. putting to sleep can result in flashing/hung state

  2. built-in keyboard mute button can totally freeze system - works fine from software (i.e. apple bluetooth KB)

  3. shutdown may not go all the way to full power off (OS shuts down but at black screen with fans/lights on)

  4. built-in PS2 keyboard/trackpad may disappear after sleep/wake 

Optional: Boot with Clover on MBR USB


One can still boot from the HD using UEFI. But one can also create a bootable MBR formatted USB with CloverEFI. This boot method may mitigate or eliminate any random UEFI issues. The exact same EFI folder can be used. To make a bootable MBR USB:

  1. Format the stick as MBR (which is usually the default) with a single FAT32 partition named USB.
  2. Optionally copy the OSX installer to USB (same command for GUID USB above) but must be done before steps below!
  3. Then with Clover_v2k_rxxxx.pkg, install to the USB for "legacy CloverEFI" boot.  That is: Uncheck the top 2 items, and in Bootloader check the 2nd option to install boot0af.
  4. After the Clover pkg installer is finished and closed, then replace the EFI/CLOVER folder just like you did on the HD. the EFI/BOOT folder is not needed. Note: the HD ESP EFI folder and USB EFI folder should be exactly the same now.
  5. Then from the BIOS, set USB-HDD as top boot option (so you don't have manually boot from USB vs the HD)
Go to the full post

  • Please log in to reply
1223 replies to this topic

Cowboy Mike

Cowboy Mike

    InsanelyMac Geek

  • Donators
  • 109 posts
  • Gender:Male
  • Location:green island in northern atlantic

Hey lads, 


did anyone of you guys have success with Yosemite public beta? I am not getting it to work at all.. :(





    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 585 posts
  • Gender:Male
  • Location:NC, USA

@cowboy mike - i have a fully working Yosemite Dev Preview (DP-4). i don't know how different that is from the beta? i will try to download in a day or 2 and report back. i am on clover 2774 and with 3 additions to the config.plist in the boot section.





                <string>slide=0 kext-dev-mode=1</string>


















Cowboy Mike

Cowboy Mike

    InsanelyMac Geek

  • Donators
  • 109 posts
  • Gender:Male
  • Location:green island in northern atlantic
Thanks tluck. I'll give it a shot or two...

I'll report back.

Cowboy Mike

Cowboy Mike

    InsanelyMac Geek

  • Donators
  • 109 posts
  • Gender:Male
  • Location:green island in northern atlantic

@tluck - Would you mind providing a new package experimentally supporting that Californian national park, please? I guess there's gonna be a high demand ;)

Also tagged with one or more of these keywords: UEFI, ThinkPad, T420, Lenovo, Clover

1 user(s) are reading this topic

1 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy