Jump to content
Kogen Mantis

Lenovo ThinkPad T420 with UEFI Only

4,583 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 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 
       
       
       
      STEP 3 - Stop Windows Boot manager from overriding Clover boot manager
       
      How to stop Windows boot manager from overriding your Hackintosh Clover boot manager when using dual booting between macOS and Windows
       
       
       
       
       
       
    • 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".
       
×