Jump to content
Kogen Mantis

Lenovo ThinkPad T420 with UEFI Only

4,582 posts in this topic

Recommended Posts

Thanks to Clover EFI Bootloader I was able to achieve almost perfect HacBook Pro from my Lenovo T420

This guide is work in progress and I’ll try to update it as often as I can outdated! For more updated guide head to tluck's post #481 (thanks tluck for taking over)

 

Why UEFI Only?
Faster boot time, better hardware detection, native Mac OS X Installation process and Auto create Recovery HD, working iCloud and iMessage to name a few. But in general you will achieve almost perfect Macbook Pro clone that will most likely survive all future System updates.

Note: I’ll be focusing on Mountain Lion but I guess Lion would work equally good.

Lets start by preparing Mac OS X install media.
You will need:
- Working Mac OS X 10.6 or later (Hackintosh, Virtual machine or real Mac)
- 8GB+ USB pen-drive
- Legal copy of Mountain Lion install app
- and an app called Lion Disk Maker
- my custom Clover Package: Clover_v2_r1625k0.pkg.zip

Prepare Mountain Lion install media using Lion DiskMaker.

LDM.png

Making install media bootable on your ThinkPad
Run my custom Clover Package and change the install destination to the Mountain Lion install media you’ve just created using Lion DiskMaker. Generaly you don't have to worry about anything else it is all customized to work best on all ThinkPads.






post-112035-0-80583800-1366765469_thumb.png

Note (optional): At this point you can use another FAT32 formatted pen-drive to install Clover on to it. This pen-drive needs to be capable of storing at least 25MB+ of data.

System installation
Insert prepared OS X Mountain Lion Install Disk - 10.8 in your ThinkPad and set to boot in UEFI Only mode. And wait for the boot loader. You should be presented with screen like this:






post-112035-0-29088900-1359462540_thumb.jpg

Now start the installation process just like you would on a normal Mac. Partition your drive with GUID table and install.

Adding Extra drivers using myHack
You now should be running vanilla Mac OS X 10.8. Before you start upgrading and instaling software now is a good time to add missing drivers and install them in a clean and proper manner using myHack.
1. Download Extra Folder: Extra.zip
2. Download myHack and place it in your Application folder
3. Run myHack and choose myFix. When asked about Extra folder choose "Use My Own" and point to downloaded Extra folder from step 1. Reboot and check if everything is working fine. By everything, beside AppleACPIPlatform.kext ver 1.3.5, I mean Sound and Battery meter cause these are the only kexts that are in Extra/Extentions

Extra-Extensions.png

Making your custom configuration using OEM folder
... under construction...

Booting Clover EFI Bootloader from system drive
It's time to get rid of the osx pen-drive you've been booting all the time and install my custom Clover to your main disk and boot directly from your hard drive EFI partition. This step is identical to the "Making install media bootable on your ThinkPad" but this time you will be using your main drive. Just make sure your disk drive is selected when installing.

Note: Now You can customize your installation. You have the choice to install Clover Preference Panel and Optional RC scripts.






post-112035-0-29947700-1368404003_thumb.pngpost-112035-0-53522000-1368404018_thumb.pngpost-112035-0-60204500-1368404031_thumb.pngpost-112035-0-56752300-1368404042_thumb.png

Remove pen-drive and reboot. If all went well you should be booting from your hard drives EFI partition now. Good luck!

Software worth mentioning
Clover EFI bootloader (thread) - (source code) - (changelog) - (wiki)
CloverGrower (post) - (source code)
HWMonitor + HWSensors (thread) - (source code)
DSDT Editor (thread)
DarwinDumper (thread)
...

Thanks and credits
@Slice, @dmazar and all Clover thread members, @joshhh and all T510 thread members, @gothic860 and all W520 thread members, @Manwe150 and all T420 thread members

.…. to be continued.

Update 2013-01-20: Flashed latest UEFI Bios version 1.43 + whitelist and started fresh DSDT patching

Update 2013-01-30: Uploaded new LenovoEFI_Pack_Beta2.zip (from now on I'll be attaching latest version to this thread). I've started using the EFI/OEM/4180A32 folder specific for my T420 model and added minimal config in the root that should work for everyone else (testers needed). My latest DSDT.aml in EFI/OEM/4180A32/ACPI/patched and updated ThinkPad theme is included.

Update 2013-05-15: Updated the post to reflect some changes and progress made in this topic. Using custom Clover r1625 that has all the stuff Lenovo UEFI user needs. This one is enabled to install to ESP by default with ThinkPad Theme and RC scripts and example EFI/CLOVER/OEM/4180A32 folder.

Edited by Kogen Mantis

Share this post


Link to post
Share on other sites
Advertisement

Yes and Yes - but you need to patch USB for sleep to work.

dsdt.aml included in clover EFI/ACPI/patched/dsdt.aml does not have this patch. I'll add info about DSDT patching later.

Share this post


Link to post
Share on other sites

i have a dell xps 14 ultrabook and it has UEFI as well, do you know if this guide will work on my laptop?

my specs are

 

BIOS: A13

intel core i5 3317U

intel HD4000

4gb ram

500gb hdd

32 gb ssd

intel centrino wireless card(im assuming this wont work)

im running windows8 pro(legal copy) and i plan to dual boot with mountain lion and win8

Share this post


Link to post
Share on other sites

i have a dell xps 14 ultrabook and it has UEFI as well, do you know if this guide will work on my laptop?

my specs are

 

BIOS: A13

intel core i5 3317U

intel HD4000

4gb ram

500gb hdd

32 gb ssd

intel centrino wireless card(im assuming this wont work)

im running windows8 pro(legal copy) and i plan to dual boot with mountain lion and win8

 

Yes this guide will work but remember that I use kexts (drivers) specific for Lenovo ThinkPad's and as I mentioned before my DSDT.aml that will KP on your machine.

So in your case delete:

EFI/ACPI/patched/dsdt.aml

and try it out.

Share this post


Link to post
Share on other sites

I can't get my hardware monitor to work. Try to run it and I got KP.....

 

Did you use some special kext for the hardware monitor? The one I am using is from iAtkos ML2

Share this post


Link to post
Share on other sites

I can't get my hardware monitor to work. Try to run it and I got KP.....

 

Did you use some special kext for the hardware monitor? The one I am using is from iAtkos ML2

If by hardware monitor you mean HWMonitor.app than you just need the latest FakeSMC.kext and in our case CPUSensors.kext and ACPISensors.kext. You can find them in my "EFI/kexts/10.8" and the minimal readout should look more or less like this:

HWMonitor.png

 

I'm guessing that KP is due to different version of FakeSMC being loaded from iAtkos .

Share this post


Link to post
Share on other sites

Today I've made a display override for my HD+ Panel (1600x900) based on MacbookPro9,1(DisplayVendorID-610/DisplayProductID-9cc7) and named it Lenovo LCD.

The display profile default is warmer using this file and I have added some extra resolution choices in scaled mode.

post-112035-0-95438800-1359552232_thumb.png post-112035-0-26209700-1359552263_thumb.png

Just unzip it and copy entire DisplayVendorID-30e4 folder to:


/System/Library/Displays/Overrides/

DisplayVendorID-30e4.zip

Share this post


Link to post
Share on other sites

200px-DisplayPort_plus_plus.svg.png

 

Today I had the chance to test out the Display Port to Hdmi cable that I've ordered for 7$ from China (free shipping) and I'm happy to report that all is working great.

Dp2Hdmi.png

All testing done on my Samsung 40" FullHD LED TV. Full resolution support. Stable graphics with no artifacts that I keep on hearing here and there. Even done some OpenGL testing to see how much FPS can I get in case of gaming on the big screen. Mirroring works. The HDMI sound output works both in direct mode (sound in TV) and pass through to my Onkyo receiver.

Here are some screenshots:

post-112035-0-32715100-1359663572_thumb.pngpost-112035-0-44821600-1359663605_thumb.pngpost-112035-0-83928700-1359663664_thumb.pngpost-112035-0-51488000-1359663684_thumb.png

Share this post


Link to post
Share on other sites

Hey, it's maybe a little bit off-t, but I have a t420 wich I want to run on OSX. I've been in the hackintosh business for a few years, but since the new Sandy Bridge and further I admit I lost track of the scene a bit.

 

I have tried to install with the "OSX 10.8 bootable usb method", the one you need the raw file and a windows pc for,

I've tried the ##### method, also myHack etc etc.

 

With the bootable usb method I can boot in installation, but osinstall.mpkg failes to load, so there's no custom install option. When I install and reboot, I get stuck after the IOBluetooth succes message, which is the last one before loading graphics. This "freeze" happens while loading ##### etc too. I've tried using all different flags etc but no succes.

 

How did you manage to get your graphics working? Do you have two GPU's or just the Intel graphics?

 

My setup is:

 

T420

i5 2520m vPro

4gb ram

HD3000 graphics

1600x900 screen

 

and the standard stuff as bluetooth 3.0, wan etc.

 

Hope you have some tips for me ;)

 

Greetz

Share this post


Link to post
Share on other sites

Hey, it's maybe a little bit off-t, but I have a t420 wich I want to run on OSX. I've been in the hackintosh business for a few years, but since the new Sandy Bridge and further I admit I lost track of the scene a bit.

 

I have tried to install with the "OSX 10.8 bootable usb method", the one you need the raw file and a windows pc for,

I've tried the ##### method, also myHack etc etc.

 

With the bootable usb method I can boot in installation, but osinstall.mpkg failes to load, so there's no custom install option. When I install and reboot, I get stuck after the IOBluetooth succes message, which is the last one before loading graphics. This "freeze" happens while loading ##### etc too. I've tried using all different flags etc but no succes.

 

How did you manage to get your graphics working? Do you have two GPU's or just the Intel graphics?

 

My setup is:

 

T420

i5 2520m vPro

4gb ram

HD3000 graphics

1600x900 screen

 

and the standard stuff as bluetooth 3.0, wan etc.

 

Hope you have some tips for me ;)

 

Greetz

Try starting from step "Clover installation" - use another FAT32 formatted pen-drive and copy the EFI folder to it and try installing again in UEFI only mode. I won't support other methods.

Also instead of hardware specs I rather you tell my your ThinkPad serial number. Good luck

Share this post


Link to post
Share on other sites

Try starting from step "Clover installation" - use another FAT32 formatted pen-drive and copy the EFI folder to it and try installing again in UEFI only mode. I won't support other methods.

Also instead of hardware specs I rather you tell my your ThinkPad serial number. Good luck

 

My serial number is 4236Z9U.

Thanks for the fast reply, and also my compliments for the work you're doing!

 

 

 

NB: Tried to copy your files from EFI, didn't work OOB. What worked for me is to download latest Clover package installer (v2_rL971), install it to USB and then copy (and replace where needed) your files from "EFI" folder to the EFI folder on the USB. Now I can boot Clover, it's a start haha.

 

 

UPDATE: I have followed your guide, and now I can actually boot into the installer. Only issue is, my display does not work. I noticed that I got a black screen after booting (instead of hanging at bluetooth succes it goes on running to graphics), but when I clicked something my usb did go do something. So I figured my graphics were working now, only my internal LCD did not. I switched to external VGA as default boot screen in my UEFI bios, and that, in fact, works. I guess it tries to go 1600x900x32 on my 1280x1024 screen, but it's working.

 

Do you know what I have to change to make my LCD working, is it something in Clover or in my kexts?

Share this post


Link to post
Share on other sites

My serial number is 4236Z9U.

Thanks for the fast reply, and also my compliments for the work you're doing!

 

 

 

NB: Tried to copy your files from EFI, didn't work OOB. What worked for me is to download latest Clover package installer (v2_rL971), install it to USB and then copy (and replace where needed) your files from "EFI" folder to the EFI folder on the USB. Now I can boot Clover, it's a start haha.

 

 

UPDATE: I have followed your guide, and now I can actually boot into the installer. Only issue is, my display does not work. I noticed that I got a black screen after booting (instead of hanging at bluetooth succes it goes on running to graphics), but when I clicked something my usb did go do something. So I figured my graphics were working now, only my internal LCD did not. I switched to external VGA as default boot screen in my UEFI bios, and that, in fact, works. I guess it tries to go 1600x900x32 on my 1280x1024 screen, but it's working.

 

Do you know what I have to change to make my LCD working, is it something in Clover or in my kexts?

You have almost identical hardware specs to mine so I advice you to rename the 4180A32 folder inside EFI/OEM/ to 4236Z9U and report back.

 

BTW: Are you sure you have the correct UEFI booting settings in your ThinkPad Setup? (Startup > UEFI/Legacy Boot Priority [uEFI First])

Share this post


Link to post
Share on other sites

ThinkPad Setup

 

I still can't make up my mind regarding the best ThinkPad Setup configuration but it seem that some setting are essential for booting Mac OS X:

 

Essential:

Config > Serial ATA (SATA) > SATA Controller Mode Option [AHCI]

Security > Memory Protection > Execution Prevention [Enabled]

Security > Intel ® VT-d Feature [Disabled]

 

My other settings:

Security > Security Chip > Security Chip [Disabled]

Startup > UEFI/Legacy Boot [Both]

Startup > UEFI/Legacy Boot Priority [UEFI First]

Edited by Kogen Mantis

Share this post


Link to post
Share on other sites

You have almost identical hardware specs to mine so I advice you to rename the 4180A32 folder inside EFI/OEM/ to 4236Z9U and report back.

 

BTW: Are you sure you have the correct UEFI booting settings in your ThinkPad Setup? (Startup > UEFI/Legacy Boot Priority [uEFI First])

 

Yeah I have the system up and running now, from my internal screen with right resolution. Sound and ethernet work as well now.

Only issue, I get a KP after a few minutes.

 

panic(cpu 2 caller 0xffffff7f807ff1df): No HPETs available...CPU(s) configured incorrectly
Debugger called: <panic>
Backtrace (CPU2), Frame : Return Adress
and after that a lot of computer language, which probably is the adress of where it got stuck or something.

 

I'm going to try changing stuff in bios first, turning off hypertheading etc, maybe it works maybe not, I'll post updates.

I'm still running original UEFI/BIOS by the way, because I wasn't planning yet on changing my wireless card.

 

I think some things in your DSDT aren't the same after all, but the namechanging thing did work for the rest. Only problem now is that I do not have any knowledge of modifying DSDT's...

Share this post


Link to post
Share on other sites

I think there is my experimental DSDT.aml in the patched folder, try replacing it with the one I'm using right now.

 

Working now without KP, only sound is gone. What did you modify on it? Rest works great without KP's now!

Share this post


Link to post
Share on other sites

Here's a screenshot uploaded from my T420.

Used your latest dsdt from post #21 (for anyone having same issues ;) ) working great now!

 

@Kogen Mantis, you're doing a great job here, thanks very much for the work you have done and what you're doing! Even sleep is working etc etc!

 

2ez22r6.jpg

Share this post


Link to post
Share on other sites

After a day i use I notice that sometimes when I close the lid, it doesn't go to sleep but freezes with a black screen and a flashing sleep indicator. Do you have that as well or would that be specific to my model Thinkpad and it's DSDT now?

Share this post


Link to post
Share on other sites

After a day i use I notice that sometimes when I close the lid, it doesn't go to sleep but freezes with a black screen and a flashing sleep indicator. Do you have that as well or would that be specific to my model Thinkpad and it's DSDT now?

I'm doing so many test with different types of setup and configurations that I've didn't noticed that... I mean sleep doesn't work as expected sometimes but I was always blaming something else than the DSDT. I guess I should look closer into it.

What UEFI Bios version you are at now? And can you write down the steps to reproduce the sleep problem.

Also I have hibernatemode disabled:

sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage

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 Averyfreeman
      Dear @tluck 
       
      I have a T460s 20F9-003HUS - I5-6300U 2C 2.4GHz, FHD non-touch, 8GB DDR4, PM961 NVMe, vPro, AMT, etc.
      http://psref.lenovo.com/Detail/ThinkPad_T460s?M=20F9003HUS
       
      I have been following the following thread to hackintosh my T460s:
       but it's very long and hard to sort through, so I thought I'd start a new thread specifically for this issue
       
      Personally, my model has been doing pretty good with just the T460 EFI from github.  I did run the scripts to create and patch a new DSDT, though, after installing patchmatic and iasl.  I also manually installed VooDooPS2Controller.kext by following the guide on RehabMan's git wiki. 
       
      I also re-installed my kexts from CLOVER/kexts/other using kext helper to build them into the kext cache
       
      My only glaring issue is the touchpad.  It's unusably bad, I've had to use a mouse which kinda sucks on a laptop.
       
      It'll be really slow and then all of the sudden be really fast.  It hangs and skips intermittently.  Kind of hard to describe but it's {censored}. 
       
      So far I've tried: 
       
      installing latest version of VooDooPS2Controller, urning off all gestures, modifying speed, patching DSDT with autogen scripts (iASL, patchmatic). 
       
      Has anybody seen this problem?  What do you recommend I do?  
       
      Happy to provide any logs anyone believes would be relevant via pastebin, etc. 
       
      Thank you!
    • By SoThOr
      This was spurred on from a discussion in the Clover General thread. Where there was a debate on bcdedit being able create/read/edit (U)EFI Boot entries. I didn't think it appropriate to post all this information there and somebody may want to make use of this and its likely to get lost in that massive thread.
       
      Out of curiosity I decided to see if I could create an EFI entry using bcdedit. What can I say I like a challenge.  Whilst is not a documented method by Microsoft, as it turns out in a round about way it IS possible to create an EFI entry using bcdedit and these are the steps I went through to add UEFI Shell located on a USB stick to the EFI entries. 
       
      Third party software is available that can create and edit UEFI entries from Windows with better support and more features. I'm just making this information available in case those options are unavailable. 
       
      DISCLAIMER - This is not a supported method. Use at your own risk. I recommend backing up your BCD/Firmware variables/settings beforehand.
       
      1) Copy {bootmgr} entry.
      C:\Windows\System32>bcdedit /copy {bootmgr} /d "UEFI Shell" The entry was successfully copied to {34e8383c-73a7-11e9-9cb0-94de8078a7b5}. 2) Edit the new entry using the new GUID bcdedit generated in the copy step.
        a) Set the device and path for UEFI shell on my USB stick.
      bcdedit /set {34e8383d-73a7-11e9-9cb0-94de8078a7b5} device partition=G: bcdedit /set {34e8383d-73a7-11e9-9cb0-94de8078a7b5} path \EFI\SHELL\SHELLX64.efi   b) Clean up some of the stuff that was copied from {bootmgr} (optional as far as I can tell, just makes things tidier in bcdedit)
      3) Put the new EFI entry first in boot order. (optional)
       
      After completing the steps above, here is what "bcdedit /enum firmware" shows:
       
      I shutdown my computer and when I turned my computer back on it booted up into UEFI Shell. After exiting the shell my PC went on to boot Windows.
      Here is the resulting dump using "bcfg boot dump -v" from that shell:
       
      You may notice that the shell shows as "Windows Boot Manager" in the bcdedit output. This I believe is because of the "WINDOWS" at the beginning of the option data that bcdedit added to the EFI Boot entry. I also believe this why bcdedit shows my Windows 8 installation as "Firmware Application" because it has no option data. I don't know how to remove this data using bcdedit nor do I know how the option data, that bcdedit adds, will affect other EFI applications.

      There might be a way to create the EFI entry without copying the Windows entry but if there is I'm unable to find any documentation on how one would do so. If you use the create command then it just puts it in the BCD and I'm unaware of a way to tell it to create it in EFI instead, other than by doing the above.
    • By cvad
      Small tool to download, compile and build the latest Clover X64 package.
       
       
       

      The script inside is editable.

       
      Enjoy...
       
      Many thanks to the comrade SunKi for help with creating the script.
       
       
       
       
       
      Best thanks - click "Rate File".
       
    • By blxkspell
      Hey!
      As I have 3 Monitors connected, my RX 570 gets arround 50°C while ideling/ web browsing etc. The problem is, that this temp is apparently just the threshold, when the fans start to spin. So the fans start spinning for a minute then they stop for a while again... This is very annoying for me as the rest of my hackintosh is nearly quiet (SSD, 120mm low RPM cpu fan, nearly silent PSU,...), especially when Im using the pc to revise for school. Does somebody know wether its possible to "change" the threshold till the fans start spinning? Like it would probably not be a problem for the gpu at all, if the temp rises to 55°C but therefore be soundless....
       
       
    • By kylon
      Cloud Clover Editor allows you to manage Clover EFI and Ozmosis configs everywhere!
       
       
      WEB
      Open Cloud Clover Editor
       
      APP (MacOS - Discontinued)
      Clover flying editor ( Micky1979 )
       
       
       
       
      Sources: https://bitbucket.org/kylon/cloud-clover-editor-cce/overview


      To run CCE at home you will need:
       
      An HTTP server (Apache, Nginx, ...) PHP 5.3.3+ (latest PHP version is always recommended for better performances/security) Sqlite3 PHP extension  
       
      Some Features:
       
      Edit text in tables:
      Editable fields are marked with a text cursor.
      Double click, or tap and hold, to open the inline editor.
      You can now press Enter or click outside to save your changes.
       
       
      Tri-state checkboxes:
      There are 3 possible states for a checkbox: Checked, indeterminate and unchecked.
       
      Checked: Value is true;
      Indeterminate: Value is false;
      Unchecked: Value is not set (ie, removed from plist)
       
      Working with multiple configs:
      The right sidebar is your multitasking menu.
      Use the add button to create a new config and add it to the list.
      You can safely switch between all your configs, no changes will be lost.
      You can mix Clover EFI and Ozmosis configs.


      Config Upgrade feature:
      In the case you are using old configuration options, CCE gives you the ability to automatically upgrade your config.
       
       
      Copy to:
      You can copy patches between your configs (you will love this when you need to copy kernel and kext patches ;D ).
      You will find a yellow copy icon if that field does support the copyTo feature.
       
       
      Ozmosis Mode:
      A new setting, Cloud Clover Editor Mode, is now added in Cloud Clover Editor -> CCE Settings.
      This will let you switch from Clover EFI to Ozmosis mode.
      Changes to your current file will be lost.
       
       
      CCE Bank 2.0:
      Thanks to @cecekpawon for the idea.
       
      CCE Bank is a database where you can save/load Clover EFI and Ozmosis configs.
      You can protect your config from unwanted modifications or make a publicly editable config.
       
      To save a config in CCE Bank you only need to check the "Save to CCE Bank" option.
       
      Tick the box generate a new CID, if you don t have one.
       
      A CID (CCE ID) acts like a container and it is your authentication key.
      You can group multiple configs under the same CID or generate as many CIDs as you like.
       
      Edit Modes:
      Public: Anyone can make modifications, only the owner can change its settings. Private: Only the owner can make modifications and change its settings. MyBank: Only the owner can see this config, make modifications or change its settings.  
      MyBank is your private area.
      Change the 'view mode' to switch between the public bank and your personal bank.
       
      To manage your currently loaded config, go to Cloud Clover Editor -> Open config -> click the settings button.
       
       
      Notes:
      Locked/Private configs are marked with a padlock MyBank configs are only visibile in your private area Only the owner of a locked config can save the modifications in CCE Bank, hower you are free to do whatever you want in CCE and download the modified config If you loose your CID you can just reply or pm me No account is required!  
       
      Main Features:
      Left sidebar does support touch swipe on touch devices.
      No changes will be lost on page reload.
       
       
      Credits
      mackie100 - took some ideas from his app Clover EFI dev team Eric Slivka - new serial number Virtual1 - new serial number cecekpawon - PHP 5.3.3 patch, , help with the ACPI Loader Mode flag and more Micky1979 - Clover flying editor crusher. - Help with the ACPI Loader Mode flag Download-Fritz - Help with the ACPI Loader Mode flag Pavo - Ozmosis fields and values stehor - Ozmosis fields and values Sherlocks - General help and support gujiangjiang - General help and support Please let me know if i forgot you!
×