Jump to content

Lenovo ThinkPad T420 with UEFI Only


K0gen
 Share

5,271 posts in this topic

Recommended Posts

 

@granty - very weird?! but glad you are making progress. so i take it you do have 1600x900 LCD. if you did change the Clover screenresolution i would stay away from this. 

what is your bios version? 

 

since many T420 with 1600x900 have a bogus (malformed) EDID, i inject a different EDID via Clover and the DSDT. This fixes 2 things (1) random white screen at boot and (2) notorious HD 3000 glitches (aka artifacts).  some have mentioned removing the clover EDID injection to get things working.

 

---

 

@parcox 

 

try turning off generate P-states in the clover config.plist

<key>SSDT</key>
<dict>
     <key>Generate</key>
     <dict>
          <key>CStates</key>
          <true/>
          <key>PStates</key>
          <false/>
     </dict>
</dict>

Still having issues. 

 

I have the OS installed absolutely fine, but can't boot into it from Clover without first using a Windows disk to force the resolution down in Clover first.

 

It's very weird.

 

I tried changing config.plist resolution from 1600x900 to 1024x768 but don't think I made much difference with that.

 

What are the commands to mount the EFI partition without using clover?

Link to comment
Share on other sites

@Granty - ah well that makes some sense. I only have HD 3000, so I don't know what it takes to get Nvidia working. maybe others can share.

 

I got the laptop from work as a freebie so thought I'd have a mess about with it. I thought to have a 1600x900 screen they all would have had nvidia. I was obviously wrong :)

 

Thanks for your great guide and help. Glad to have it finally running.

 

One thing, I seem to have multigesture for scrolling down. But in Safari does yours work for swipe back to go back a page?

Link to comment
Share on other sites

@granty - the T420 is pretty solid hackintosh platform IMO.  if you installed the VoodooPS2Controller from the zip bundle, then yes it is pre-configured to make swipe left and swipe right work for Safari (mapped to back/forward). i find that when use 3 fingers pointed mostly to left (vs toward Screen) and  then swipe about 1/3 of the pad medium speed it works best. 

  • Like 1
Link to comment
Share on other sites

A 10.9.3 patch update plus a few others came out today - I just clicked to download and reboot. Went fine.

 

it updated AppleHDA.kext and Broadcom bluetooth kext so I bundled up a new zip for 10.9.3 with the patched kexts for T420. Enjoy.

 

Clover UEFI on T420 Guide

 

15-May-2014 - 10.9.3 update

  • 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
  • Like 2
Link to comment
Share on other sites

@oxconan - sorry i don't have the stuff from then. But the Guide and zip should work for you though. (the AppleHDA and BT kext will be newer though.) IMO, 10.9.0 is pretty old and buggy ... so I would recommend you download the newer version such as 10.9.2 or 10.9.3.

  • Like 1
Link to comment
Share on other sites

tluck, fantastic job my good sir. Got Mavericks 10.9.3 running from a fresh install on my T420 1366x768 model in under an hour thanks to your guide on page 25.

 

Even have wifi working with an old atheros card I pulled out of a completely broken Dell :-). I ordered the Azurewave broadcom 802.11ac card that should be in on Monday.

 

I am only having one real issue now: I get the bluetooth assistant coming up and telling me I don't have a keyboard, even though (clearly, since I'm using it right now) my keyboard works fine... It's not a big deal to just minimize the assistant but searching the topic is getting a bit unwieldy at 52 pages.

 

Also, at first I was having sleep cause my power button to start flashing fast and my audio wouldn't turn back on, but it seems to be working fine now... *shrug*

 

How do I know if the custom SSDT is loaded? I renamed the folder for the 1366x768 screen in OEM to 4177R35 (my product ID, I think?), and things seem to be working, but my battery life seems less than it should be.

 

Has anyone used FileVault to do whole disk encryption? I was using it on my real MacBook and I'd like to use it on the T420 but I can't find much info about it. Since it uses AES it ~shouldn't~ have any CPU overhead because the T420's i5 supports that...

 

Also what's the deal with VT-d being disabled? I did ~not~ disable it, and I seem to be working fine. Also, I'd very much like to use it (I use VMWare a LOT).

 

Anyway, really nice job, thank you so much.

Link to comment
Share on other sites

@wetzelskid - thanks for the feedback - glad it worked.

 

- bluetooth - if you installed the broadcombluetooth  - added my device ID 8575 in the Info.plist for the  kext to pick up the BT device.  it may help you with control of BT. i use a BT Apple Keyboard and it works great. you could remove /Library/Preferences/com.apple.BlueTooth.plist

- if you install the clover tools then you can look at /Library/Logs/CloverEFI/boot.log  it will show the loading of SSDT

- not tried filevault

- VT-d often needs to be disabled for OSX to work, if you don't have to disable it well fine!

Link to comment
Share on other sites

@tluck Thanks!

 

The boot.log shows a lot of stuff about Clover's auto-patching of SSDT, but it does show that it's loading the config.plist from the correct OEM folder. I think it is loading, I just don't know how to read this log well.

 

I will try broadcombluetooth once I get the new wifi/bluetooth card on Tuesday. I do have functional bluetooth, I'm using a magic trackpad.

 

I tried enabling filevault and it rebooted and Clover showed a second entry (which would have been the sparseimage to start the encryption process) but when I tried booting to it, I just got a blank screen. I will try again with some special boot options in a minute.

 

Guess I'm lucky with VT-d! I tried VMWare, works like a champ.

Link to comment
Share on other sites

@wetzelskid - for creating an SSDT for P/C states - if have not done this already run the ssdtPRgen script from the zip bundle. put the output ssdt.aml file in the OEM/<product>/ACPI/patched location (same as DSDT) ...  Clover will compute P/C states but it doesn't do a very good job in some cases.  

 

i use Fusion VMware and since i am not sure it knows how to read for this setting in a BIOS - i turned VT-d off awhile back and have not fiddled with it.

 

with and encrypted disk, the boot loaders would need to be able to read the filesystem. i don't know if the HFSPlus.efi can read a encrypted filesystem. so it may not work for a boot disk. but it let us know if it does!

Link to comment
Share on other sites

@wetzelskid - for creating an SSDT for P/C states - if have not done this already run the ssdtPRgen script from the zip bundle. put the output ssdt.aml file in the OEM/<product>/ACPI/patched location (same as DSDT) ...  Clover will compute P/C states but it doesn't do a very good job in some cases. 

 

I did run the script, it output ssdt.dsl (not aml) and that is in the patched folder.

 

I will post again with any progress I make on FileVault.

Link to comment
Share on other sites

Has anyone tried replacing their wifi card in their T420?

 

I've just done it and getting unauthorised network card and found I need a modded BIOS, anyone done this?

 

@Granty, you have to use a modified BIOS. I used one that I found on the My Digital Life forum and it worked great. Am I allowed to link to another forum on here? PM me if you can't find it.

 

@wetzelskid - 

 

ok . but here is what i get for the script  - which puts both the .aml and .dsl on my desktop

if your ESP is mounted it will offer to copy the SSDT.aml into the ESP for you

anyway Clover needs a SSDT.aml ( .dsl is just source)

 

ssdtPRGen.sh v0.9 Copyright © 2011-2012 by † RevoGirl

             v6.6 Copyright © 2013 by † Jeroen

             v12.9 Copyright © 2013-2014 by Pike R. Alpha

-----------------------------------------------------------

Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

 

System information: Mac OS X 10.9.3 (13D65)

Brandstring 'Intel® Core i5-2520M CPU @ 2.50GHz'

 

Scope (_PR_) {26 bytes} with ACPI Processor declarations found in the DSDT (ACPI 1.0 compliant)

Generating ssdt.dsl for a 'MacBookPro8,1' with board-id [Mac-94245B3640C91C81]

Sandy Bridge Core i5-2520M processor [0x206A7] setup [0x0603]

With a maximum TDP of 35 Watt, as specified by Intel

Number logical CPU's: 4 (Core Frequency: 2500 MHz)

Number of Turbo States: 7 (2600-3200 MHz)

Number of P-States: 25 (800-3200 MHz)

Adjusting C-States for detected (mobile) processor

Injected C-States for CPU0 (C1,C3,C6,C7)

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20130117-64 [Jan 19 2013]

Copyright © 2000 - 2013 Intel Corporation

 

ASL Input:     /Users/tluck/Desktop/ssdt.dsl - 184 lines, 5904 bytes, 32 keywords

AML Output:    /Users/tluck/Desktop/ssdt.aml - 1381 bytes, 11 named objects, 21 executable opcodes

 

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

 

Do you want to copy /Users/tluck/Desktop/ssdt.aml to /Volumes/E*/EFI/CLOVER/OEM/*/ACPI/patched/ssdt.aml? (y/n)? 

 

@tluck okay here is my output:

ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
             v6.6 Copyright (c) 2013 by † Jeroen
             v12.9 Copyright (c) 2013-2014 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

System information: Mac OS X 10.9.3 (13D65)
Brandstring 'Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz'

Scope (_PR_) {26 bytes} with ACPI Processor declarations found in the DSDT (ACPI 1.0 compliant)
Generating ssdt.dsl for a 'MacBookPro8,1' with board-id [Mac-94245B3640C91C81]
Sandy Bridge Core i5-2430M processor [0x206A7] setup [0x0603]
With a maximum TDP of 35 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 2400 MHz)
Number of Turbo States: 6 (2500-3000 MHz)
Number of P-States: 23 (800-3000 MHz)
Adjusting C-States for detected (mobile) processor
Injected C-States for CPU0 (C1,C3,C6,C7)

IASL not found. Downloading iasl...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:15 --:--:--     0
chmod: /usr/local/bin/iasl: No such file or directory
Done.
sudo: /usr/local/bin/iasl: command not found
Do you want to open ssdt.dsl (y/n)? n

It looks like IASL is not being installed so I will try manually installing it.

 

Update: installing IASL manually did the trick. The script still failed to copy the files even though EFI was mounted, but I moved them in manually. Will try rebooting now.

ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
             v6.6 Copyright (c) 2013 by † Jeroen
             v12.9 Copyright (c) 2013-2014 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

System information: Mac OS X 10.9.3 (13D65)
Brandstring 'Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz'

Scope (_PR_) {26 bytes} with ACPI Processor declarations found in the DSDT (ACPI 1.0 compliant)
Generating ssdt.dsl for a 'MacBookPro8,1' with board-id [Mac-94245B3640C91C81]
Sandy Bridge Core i5-2430M processor [0x206A7] setup [0x0603]
With a maximum TDP of 35 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 2400 MHz)
Number of Turbo States: 6 (2500-3000 MHz)
Number of P-States: 23 (800-3000 MHz)
Adjusting C-States for detected (mobile) processor
Injected C-States for CPU0 (C1,C3,C6,C7)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140325-64 [Mar 26 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/jak/Desktop/ssdt.dsl - 182 lines, 5750 bytes, 32 keywords
AML Output:    /Users/jak/Desktop/ssdt.aml - 1343 bytes, 11 named objects, 21 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Do you want to copy /Users/jak/Desktop/ssdt.aml to /Volumes/E*/EFI/CLOVER/OEM/*/ACPI/patched/ssdt.aml? (y/n)? y
cp: /Volumes/EFI/EFI/CLOVER/OEM/*/ACPI/patched/ssdt.aml: No such file or directory
Do you want to open ssdt.dsl (y/n)? n

Update 2: Looks like my clover boot.log shows the custom SSDT is now being inserted. I guess we'll see if that makes anything better... (It was already working pretty darn good!)

Link to comment
Share on other sites

2 things:

wifi replacement and bios - I use a whitelist modded bios 1.46 - works for my Atheros card. i think this where i got it - upgrade to standard 

http://www.bios-mods.com/forum/Thread-REQUEST-ThinkPad-T420-WWAN-whitelist-removal?pid=60462#pid60462

 

 

ssdt.aml

sorry, the i guess the quick hack job I did on Pike's ssdtPRgen script was not very robust! Anyway,  I patched it up a bit more and perhaps will work better for others.

 

the custom ssdt.aml file should be put in /EFI/Clover/OEM/<ID>/ACPI/patched along side the dsdt.aml - where <ID> is your system type.

 

here is what logs etc looks like on my system type 4236AT9 

note: FakeSMC populates the 2nd instance of product-name

 

tluck@toms-mac /Extra/OSX-build/T420/Utilities

$ grep 4236 /Library/Logs/CloverEFI/boot.log 

0:100  0:000  Clover revision: 2671  running on 4236AT9

0:100  0:000  ... with board 4236AT9

0:103  0:003  Using OEM config.plist at path: EFI\CLOVER\OEM\4236AT9\config.plist

0:104  0:000  EFI\CLOVER\OEM\4236AT9\config.plist loaded: Success

1:703  0:000  Oem smbios.plist not found at path: EFI\CLOVER\OEM\4236AT9\smbios.plist

6:606  0:001  DSDT found in Clover volume OEM folder: EFI\CLOVER\OEM\4236AT9\ACPI\patched\DSDT.aml

6:615  0:000  Inserting SSDT.aml from EFI\CLOVER\OEM\4236AT9\ACPI\patched ... Success

 

tluck@toms-mac /Extra/OSX-build/T420/Utilities

$ ioreg -l |grep product-name

    |   "product-name" = <"MacBookPro8,1">

      | |   "product-name" = "4236AT9"

  • Like 1
Link to comment
Share on other sites

@tluck,

 

If I use chameleon boot, what do I do to boot Mac OS? 

I installed Chameleon boot, but I crashed and reboot always

 

I have 2 system on HDD:

Partition 1: Window 7 (boot) --> NTFS

Partition 2: System Window 7 --> NTFS

Partition 3: EFI --> FAT32

Partition 4: Mac OS: Mavericks 10.9.3 --> HFS

 

Regards,

Link to comment
Share on other sites

@oxconan - i have not used chameleon in over a year. but the crash could be CPUPM kp as clover patches this on the fly. i do include a   a patched CPUPM in the zip if you must use chameleon.

 

Clover can boot multi OS disks. i dual boot OSX and windows 7. my partition scheme is below but yours will work too. although i like EFI to be partition 1. 

 

the windows 7 OS can boot from from EFI. i converted my C disk from MBR boot to EFI without reinstalling. i copied it from the original MBR disk to a GPT.

 

is your disk MBR or GPT? the lenovo will use one boot mode depending on the disk format.

 

/dev/disk0

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *750.2 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2:                  Apple_HFS OSX+                    697.7 GB   disk0s2

   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

   4:       Microsoft Basic Data C                       51.5 GB    disk0s4

  • Like 1
Link to comment
Share on other sites

@oxconan definitely make the switch to Clover. It's much better, in my opinion. UEFI can be pretty dynamic. I have one of the DVD drive bay HDD replacements that I put a windows drive in, and when it's in the machine it shows up as a boot option (and works fine), and I can pull the DVD bay out if I want it to be lighter or not have to worry about the second HDD.

 

I'm also going to get an mSATA SSD for the PCIE slot and move my OSX install to that, and probably install Arch Linux on the third HDD.

  • Like 1
Link to comment
Share on other sites

@tluck: My HDD is MBR... Now I want to use window I must change bio boot from Legacy First. When I want to use MacOS I must change bio boot from UEFI First

Did you install USB3 kext on Mavericks ?

 

@wetzel: Thanks!!!

Link to comment
Share on other sites

@oxconan. well i recommend you convert to GPT/GUID (formatted by OSX)  - windows and OSX in particular prefer this model.  if you have a 2nd disk you can backup and restore or copy from one to the other. you can use the appropriate apps to backup or clone...   or just use dd to copy the raw partitions.  

 

its pretty easy to UEFI boot windows and osx from the same EFI partition. The key is the disk format. the Lenovo BIOS will look for EFI stuff on a GUID disk. 

the ESP can contain 2 side-by-side boot loaders. Clover is primary GUI. and presents the various options

Clover for OSX and MS for Windows. Clover will list the MS bootmgr .... so to boot windows i select the MS Icon and the Microsoft loader just takes over as it would normally.

 

you may need to run the windows tools to repair bcd to point to the right volume (C drive) so don't freak out!

 

this is what my EFI partition looks like

 

/EFI/BOOT/BOOTX64.efi  -- same binary as Cloverx64.efi - so loads all the /EFI/CLOVER stuff 

/EFI/CLOVER/CLOVERX64.efi -- can be directly added as a boot option and loads CLOVER stuff

/EFI/Microsoft/Boot/bootmgfw.efi -- read BCD and boots windows. (this efi came from the C drive or Win install bits - or you can install using a UEFI mode CD or USB - which is easy to make from the ISO.

 

post-954945-0-02800600-1400637369_thumb.png

  • Like 2
Link to comment
Share on other sites

 

@oxconan. well i recommend you convert to GPT/GUID (formatted by OSX)  - windows and OSX in particular prefer this model.  if you have a 2nd disk you can backup and restore or copy from one to the other. you can use the appropriate apps to backup or clone...   or just use dd to copy the raw partitions.  

 

its pretty easy to UEFI boot windows and osx from the same EFI partition. The key is the disk format. the Lenovo BIOS will look for EFI stuff on a GUID disk. 

the ESP can contain 2 side-by-side boot loaders. Clover is primary GUI. and presents the various options

Clover for OSX and MS for Windows. Clover will list the MS bootmgr .... so to boot windows i select the MS Icon and the Microsoft loader just takes over as it would normally.

 

you may need to run the windows tools to repair bcd to point to the right volume (C drive) so don't freak out!

 

this is what my EFI partition looks like

 

/EFI/BOOT/BOOTX64.efi  -- same binary as Cloverx64.efi - so loads all the /EFI/CLOVER stuff 

/EFI/CLOVER/CLOVERX64.efi -- can be directly added as a boot option and loads CLOVER stuff

/EFI/Microsoft/Boot/bootmgfw.efi -- read BCD and boots windows. (this efi came from the C drive or Win install bits - or you can install using a UEFI mode CD or USB - which is easy to make from the ISO.

 

attachicon.gifScreen Shot 2014-05-20 at 9.54.19 PM.png

 

 

@tluck he can format the drive with a live linux distro as well as long as it has HFSUtils,

 

@oxconan if you do use linux, just be sure to create the EFI partition (disk utility does this for you) and make it about 200mb. It does not HAVE to be the first partition on the drive, but it's recommended (as EFI will pick the first FAT formatted partition to pull bootloaders off of).

 

Windows bootmgfw.efi is an EFI application that can be run from ANY EFS but it will only boot to a partition that it is configured to boot to, so if you are planning to dual boot on the same HDD, I think if you use Disk Utility to partition it with two partitions (one for Mac and one for Windows) and GUID partition table, and then install Windows and Mac OSX in any order, and put Clover in the EFS, Clover should take priority. OS X doesn't actually put anything IN the EFS, it just is a required partition for the EFI spec to be met...

 

It is most definitely easiest to use more than one HDD :yes:

 

I found this article on the microsoft technet: http://social.technet.microsoft.com/wiki/contents/articles/14286.converting-windows-bios-installation-to-uefi.aspx

 

It suggests using a tool that can convert MBR disks to GPT in windows... (for more info, check out https://wiki.archlinux.org/index.php/GUID_Partition_Table and you can try to use gptfdisk or gdisk in a live linux distro to do the same)...

 

I THINK that if you were to convert your drive to GPT with one of those tools, then boot to a windows recovery disk in UEFI mode and run the   bcdboot c:\windows /s s: /f UEFI command you would be all set. Keep in mind that in this case you would be mounting your THIRD partition as S: (select volume 3, assign letter s)

 

Oh and you might require an MSR on the disk for windows 7 UEFI to work properly, though you might not... I definitely set up machines without creating MSR and it worked fine... but if you need to do that you would have to shrink your windows partition a bit and add another partition with this diskpart command:

 

  create partition msr size=128

  • Like 1
Link to comment
Share on other sites

@wetzel - good stuff.  glad to have another voice on this thread. since i had more than one disk, i stayed away from the MBR to GTP conversion experiments.  most of my disks are GPT now, but i still have 1 disk MBR formatted - which seems to work (better?) for me with VMware fusion using physical partitions vs vmdk. 

 

@oxconan - forgot to answer about USB3. Yes - i am using an GMYLE USB3 express card to add 2 USB3 ports.  for a driver, I am using the OSX86 GenericUSBXHCI.kext v1.2.7 Note: esata (native apple support) works great too.

  • Like 1
Link to comment
Share on other sites

tluck, does your screen get dim? My brightness controls work, and moderately change the brightness from high to low and then switch the screen off at 0, but the jump from 0 to 1 seems much larger than it was on my macbook. Is it possible to let the screen get more dim? I should probably just, you know, search insanelymac... but I was wondering if you'd messed with it at all already.

Link to comment
Share on other sites

 Share

×
×
  • Create New...