Jump to content

Lenovo ThinkPad T420 with UEFI Only


K0gen
 Share

5,271 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
  • Like 9
Link to comment
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

  • Like 1
Link to comment
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.

Link to comment
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 .

Link to comment
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

  • Like 1
Link to comment
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

Link to comment
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

Link to comment
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

Link to comment
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?

Link to comment
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])

Link to comment
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
  • Like 1
Link to comment
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...

Link to comment
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

Link to comment
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

Link to comment
Share on other sites

 Share

×
×
  • Create New...