Table of Contents
Note: Currently working on an OpenCore based Hackintosh, when I have spare time. Once that is complete, this will be updated accordingly (aka, completely rewritten)
Yes, what you’re seeing is a Lenovo ThinkPad T440 running the latest in macOS, 10.15.2 “Catalina.” Many, many hours of work went into it, and I did the work so you don’t have to!
First off, I have a ZIP archive of the EFI partition and essential third-party kexts (more on kexts later). We’ll get to that.
Second off, I’m going to state that this procedure does break Apple’s EULA, though as far as I have read, you appear to be in the clear as far as copyright law is concerned. I will not and legally cannot provide a copy of OS X. This presents a small issue, but we’ll cover that in a moment.
Finally, this will be a rather long guide, jump around to where you need. I’m expecting a reasonable level of technical skill from someone who is attempting a Hackintosh build.
As I have tested, attempting to update automatically to 10.153 actually corrupted the BIOS on the ThinkPad I was using, and had to swap to another. A failed update also corrupted macOS so bad that I’m currently in the process of pulling everything I want off of it and reinstalling from scratch.
Until I find a good way to deal with everything, you have been warned!
- A Lenovo ThinkPad T440 (Henceforth “TP” from now on). I have not tested the T440P, and from my sources, the T450’s have wildly unstable graphics and I recommend against a 450. Note that you will lose any and all data on it.
- A 16 GB or higher capacity flash drive with nothing important on it. We’ll be converting it into an installer, so it will need to be completely formatted, and all data will be lost. Make sure it’s one you don’t care what you have stored.
- A wired network connection. Initially, you will be required to physically plug in the TP to a wired (Ethernet) connection. Actually, you will for a while, because…
- A BCM94360CSAX Wi-Fi module (eBay link, $8.88 free shipping). The stock wireless (and Bluetooth) card will not be recognized. This one is compatible. It’s an a/b/g/n/ac + Bluetooth, 3 antenna module that peaks out at just over 800 MB/s on a good 802.11ac connection. Trust me, it’s good.
- An appropriate miniPCIe / m.2 adapter (Amazon link, $9.00). As it turns out, that card won’t fit. This will make it fit.
- Clover, a well-known bootloader used for this exact purpose. I use Clover version 5097, and will release updates as I test newer ones for stability. Clover is open source, and is included in the download archive.
- A disk formatting utility, such as
fdisk, GParted, or the OS X
- A copy of OS X 10.15. This is the weird loop of “you must have a mac to get mac.” You’re able to download the installer package for free… from the App Store. And unless you want to setup a linux machine with qemu/kvm (tried it) just to grab an installer, this is going to be the sticking point (unless you know people, or shell out the money for an install disk).
- Something that can read zip files. Windows 10 by itself does nicely.
- A copy of the v2.36 BIOS revision. Luckily this is freely distributed, so I have no issue giving a link to it. The download will be a windows executable, meaning it’s best not to remove windows from the existing disk until after you flash the BIOS to the correct version. The reasons will be explained below.
- Patience. Trust me, you’ll need it.
Audio was the most painful thing to get working, but to the best of my knowledge, I have gotten it down reliably. Aside from that, the VGA output works, the mini-DisplayPort output is not tested (no cable), Ethernet, WiFi (when module is installed), Bluetooth (same as WiFi), internal camera, microphone, and even some dock features: it can use dock Ethernet, power, and display outputs. The SD card reader works too.
What Does Not
Fingerprint reader had to be disabled, so naturally, it will not work. The SmartCard slot is also nonfunctional, as are any USB ports on the dock. Headphone audio is recognized, but no output actually gets produced when headphones are plugged in. This is an issue I’m actively investigating. Finally, the audio may occasionally stop working after the laptop goes to sleep. To fix this, just reboot it.
There’s a few steps we need to do beforehand, just to configure everything:
- Create a bootable OS X installer
- Flash BIOS v2.36 onto the TP (if going for wifi upgrade)
- Configure the rest of the BIOS settings
Prep 1: Bootable OS X Installer
Skippable if you already have an install media
Break out your OS X copy, your qemu/kvm VM, or your lucky USB stick that a generous friend let you borrow, and let’s get to work. If said friend is generous enough though, you can safely skip this step with the peace of mind that you did not do anything against Apple’s EULA… yet.
The steps for this are actually official, from Apple’s creating a bootable installer guide. I’m assuming you already have OS X up and running on a (hopefully official) Apple product, and ready to run.
Download the OS X Catalina Installer
Head into the App Store, and search for “macOS Catalina”. It should be the first listed download and completely free.
Attempting to install it will pop up the system update asking if you’d like to download. Accept, and wait for the 8.18 GB installer to download.
It will open automatically. Feel free to close it (⌘R). All we care about is that the installer is visible in the Applications folder.
Identify and Format Your USB Drive
Plug in the USB stick, and open Terminal.
diskutil list to get a list of all connected drives.
You’re looking for something close to the following:
/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_Partition_scheme *15.5 GB disk2 1: DOS_FAT_32 UNTITLED 209.7 MB disk2s1
The key points are that it’s
external, physical, and the first item under
SIZE (With a
+ next to it) is about the size of your USB drive.
Anything with labels of
APFS Volume, or anything apple-related, is something you should not touch
The part you need to remember in this case, is
disk2: the first identifier shown, and is listed as
/dev/disk2 in the first line.
For the rest of this guide, I will use
disk2, but you must always replace it with whatever disk number you discovered by your own.
MacOS is purely UEFI, and requires GPT disks to boot. GPT disks contain a small (200MB) partition formatted as FAT32 called the EFI System Partition, or ESP for short.
In order to make the USB drive bootable, issue this command:
sudo diskutil partitionDisk <disk> 2 GPT MS-DOS EFI 200MB HFS+J Installer R, replacing
<disk> with the disk identifier you found earlier.
You will be asked for your password, type it and press enter.
The terminal will not show your keystrokes as you type, but it is receiving them.
For the technically inclined, others may skip this paragraph:
partitionDisk argument structure is special: the first two are the number of partitions (
2) and the partition map type (
GPT), and the rest are three-argument triplets of type, name, and size.
R as the size means “Remainder of disk”.
After this, another
diskutil list should look like this:
/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_Partition_scheme *15.5 GB disk2 1: EFI EFI 209.7 MB disk2s1 2: Apple_HFS Installer 15.1 GB disk2s2
Congratulations. You’re ready to make it an installer.
Format the USB as an Installer
Fun fact, did you know Mac apps (
.app files) are actually folders?
The next step proves exactly that: you’ll be running the creation program directly.
Go back into your terminal and type (or copy)
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/Installer --applicationpath /Applications/Install\ macOS\ Catalina.app
If you’re lazy like me, then hitting TAB will autocomplete the rest of the folder name, I can shorten
/Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia
This will, again, require your password (unless you ran it quickly enough, then it still remembers it), and will, after a little bit of time, copy 8 GB of data onto your drive, renaming it to “Install macOS Catalina” in the process. Once it finishes, you now have an installer!
Prep 2: BIOS Flashing
YOU ONLY NEED TO PERFORM THIS IF YOU PLAN ON SWAPPING THE WIRELESS MODULE FOR A FUNCTIONAL ONE
Now, head over to the ThinkPad, and during the boot screen, hammer the enter key until it beeps at you, once. When the option box pops up, press F1 to enter BIOS setup. The very first line should be the BIOS revision, and in parenthesis there will be a number. If this number is not 2.36, you must continue if you want wireless functionality. All bios versions except 2.36 will complain and refuse to boot anything, citing “Unsupported hardware” if you replace the WiFi card.
Luckily, 2.36 doesn’t complain.
You can grab a copy of the v2.36 installer from here, which will download a straight executable. This is where things get weird.
If Your BIOS Is Below 2.36
Easy. Just run the installer. It’ll do it’s thing, reboot a few times, and you should be good. Later I’ll show a few pictures of what you want to see.
If Your BIOS Is Above 2.36
Hard. You’ll have to do a few things.
First, after saving the installer, reboot the TP, spamming the enter key, and again hitting F1 to enter BIOS setup.
Move over to the “Security” tab, and under “UEFI BIOS Update Option”, make sure that “Flash BIOS Updating by End-Users” is
[ENABLED] and that “Secure RollBack Prevention” is
Esc back out, go to “Restart”, and exit saving changes.
head back into Windows, and prepare for the headache about to happen.
Attempt to run the installer, and it will complain that it cannot. Do not close this error message!!!
Open an administrator Command Prompt (Search bar > “Command Prompt” > right-click > “Run as Administrator”), and enter
This is where it extracts its files, and from here you can run the flash utility directly, with
WinFlash64.exe /sd /file C:\DRIVERS\FLASH\gjuj23us\GJET86WW\$01DF000.FL1
Again, let it complete and reboot.
This is what you want to see during the reboots. It’s working.
If you go back into the BIOS config, it should now say 2.36. Well done!
Step 1: Install Clover
While there is a Clover download here, and Clover is very actively maintained, I’d recommend sticking with my download archive since that contains everything you need already, which you can find here.
Unzip, and ignore the
You want the
hackintosh folder, in it is one called
Connect your USB device, and, in the EFI partition, copy the entire contents of the
Clover folder inside.
We’ll worry about the
Kext folder later.
Once it’s finished, eject and remove.
Even if you managed to acquire an already working USB device, you’ll still want a copy for that
Step 2: BIOS Settings… Again.
Go back into the bios settings, and make sure the following are set:
- Config > USB > USB UEFI BIOS Support
- Config > Display > Total Graphics Memory
- Security > Security Chip > Security Chip Selection
- Security > Security Chip > Security Chip
- Security > Memory Protection > Execution Prevention
- Security > Virtualization, both enabled
- Security > I/O Port Access > Fingerprint Reader
[DISABLED], the rest are
- Security > Internal Device Access > Bottom Conver Tamper Detection
- Security > Secure Boot
- Startup > UEFI/Legacy Boot
[UEFI Only], CSM Support
- Startup > Boot device List F12 Option
- Startup > Boot Order Lock
Finally, head over to Restart and Save Changes, then power it down. Your ThinkPad is now configured. Now, we can actually install.
Step 3: The Install
Insert the USB into the ThinkPad, power it on, and spam enter again.
This time, press F12, and select the
USB HDD option.
You may see a black screen for a few seconds, then clover will load.
Clover does not use the mouse, so use the left/right arrow keys to move, and enter to select.
One of the options should be lighter in color with the letters “USB” on it, and show the text “Boot macOS Install from Install macOS Catalina” when highlighted.
Select this, and you should eventually see the Apple logo appear, with a small progress bar.
It may take a while to load, but you’ll eventually be brought to an install screen.
Before we install we must first format the TP’s drive, which has to be done, again, in the terminal, because sometimes things like BitLocker can interfere.
After selecting your language, go up to the top bar, and under “Utilities”, launch a Terminal.
diskutil list again and it’ll give a LOT of results, but you’ll most likely want
disk0, as it appears to always be the internal drive.
This is the command to format the disk for macOS:
diskutil eraseDisk <format> <name> GPT disk0
<name> with a suitable name that you like, you can change it later, I usually prefer “Hackintosh Internal SSD”.
<format> with either
APFS if your t440 has an SSD inside it (almost always the case), or
HFS+J if it does not.
APFS is much more geared towards SSDs, and should be used if you have one.
Once you’ve erased the disk, go up on the top bar (“Menu bar”), select Terminal, and then Quit Terminal.
Note that from here, you should keep your t440 connected to power and Ethernet. From here, you may select Install macOS, and proceed through. When asked what drive to install on, select the one you just formatted and let it run! Eventually it will finish and you will have to reboot. This is where the second part of the install comes in.
Step 4: Installing the Bootloader
Once installation is finished, reboot, and once again, boot from the USB drive. Now there should be three options in Clover: the left one is your USB installer, the middle is a recovery partition (with a plus on it), and the right (probably with “APFS” on it) is your main install. Press a key to stop it automatically booting, then go right until you’re on the ⌘ button, called “Clover Boot Options”. Select it, then select “Add Clover boot options for all entries”, and it’ll return. Now, select your main install (“Boot macOS from <drive name>” NOT “Boot Recovery from Recovery”), and let macOS boot and go through initial setup.
Right now you have an almost fully working Hackintosh, except you have to indirectly boot to the USB to let macOS run. Let’s fix that.
Now might be a good time to switch your reading device to your Hackintosh if you haven’t already. There’s also a few things to take note of: The control key is still control, but the alt key is now command (⌘), and the windows key is your option (⌥) key. To right click, you need to click with two fingers or else it’s a left. We can fix this shortly.
Download Clover Configurator here (accept it asking if you want downloads from that site), open your downloads folder in finder, right click it, and open. It’ll warn you it doesn’t know if the application is safe. Click open.
When Clover Configurator opens, on the left-hand side, click the “Mount EFI” tool, and on the bottom half of the window, there should be a partition labeled EFI, that also mentions the name you gave your internal drive. Click “Mount Partition” on the right, enter your password, and make sure your boot USB is plugged in. Click “Open Partition”, open a new Finder window on your USB EFI, and copy everything from the USB EFI partition onto the internal drive partition.
Alternatively, grab another copy of my archive and copy the contents of it in the same way you did before.
If you’d like to test it when you’re done, go to the Apple icon at the top left, and restart. Once it shuts off, unplug the USB before it comes back. If you did it right, you’ll now see clover again, and this time it’s all self-contained!
From here we just need to copy the kexts in, and you should be good, except for wifi.
Step 5: Kernel Extensions
Boot up your mac with a copy of the download archive, and pay attention to the
Kext folder this time.
If you double click the zip file, a folder of the same name should appear, called
Right click it, and at the bottom, select “New Terminal at Folder”.
./install_kext.sh and hit enter. It’ll want your password, spit out a lot of information, and finish.
This may take a couple of seconds.
Once finished, feel free to reboot. If everything has gone right, your Hackintosh should now be working correctly, except it cannot access anything App Store or iCloud related just yet. From here, you can delete the zip file (and its folder), and the biggest part, you should have working audio.
Congratulations! Keep that USB handy, as it’s also a recovery / reinstall media if you need it, and a spare working bootloader. If you’d like to make it 99.9% functional, keep reading.
Note: I have, as of this point, gotten one to work in my machine, meaning I have a 2/2, 100% success ratio with this.
Before We Begin
The stock wireless module in a t440 is not compatible with macOS, and a compatible one is not compatible with the ThinkPad. The one I provided in the hardware list is fully capable, fast, has working Bluetooth, and full AirPort capabilities. It is, however, a little too large for the adapter and will not screw down. I find that the fit is tight enough that I don’t think it’s worth worrying about, but if you want, secure it how you wish, but I take no responsibility on that part if you mess something up.
A Word on L2 Computer’s Packaging…
The module, scotch taped to the delivery slip. Inside the most basic of USPS envelopes. Please, if you’re shipping something, do not do this.
Opening up the Laptop
t440 units are screwed together, and then further held together with snaps. Be careful, it will feel like you’re about to snap the back in half, but they’re a little stronger than it feels like. Don’t try and muscle the thing apart though. Trust me, they’re not fun to work with, but in theory, you’ll only be doing this once.
Firstly: if it wasn’t obvious, completely shut it down first. Lay the laptop down on a stable, flat surface, on the lid (upside down). Remove the battery by sliding the two latches away from the battery and pulling it straight out backwards.
I’ve marked the screws you need to remove if you can’t find one, but really, you’re taking them all out. There is one underneath the battery, centered along the edge, that you cannot see in that picture. The screws are captured, meaning you don’t need to worry about them falling out, they’ll stay in the bottom cover when you remove it.
With all of them unscrewed, start at a corner and gently pry the case up, working outwards as snaps detach. If one corner is a little too hard, move on to another.
Once finished, you’ll see this:
Removing the Old Wifi Card
First off, unplug the connector I’ve highlighted in blue. This is connecting the second battery, and we don’t want to start moving stuff around with a live board. There’s no retaining mechanism, so just gently wiggle it out.
The plastic flap in red is covering the WiFi module, it’s under the shorter side on the right. It is recommended that you not remove the flap, but you’re free to push it out of the way while you’re working.
This is what you’ll find under it:
The small board on the right there is the WiFi card. That one screw is holding it in. Before unscrewing it, gently lift the two wires connected to it straight up, they connect just like snaps. Remove the card, and set that screw aside, do not lose it. As you unscrew it, it’ll pivot up, this is normal.
Once unscrewed, pull the module straight out (not up), and, well, do whatever you want with it. We’re not going to use it again.
You’ll want to pull the gray (might be white), black, and blue wires out of anything holding them down such as that black strap, be gentle with them. The blue one in this picture has a plastic sleeve on the tip. If yours has this too, remove it and discard.
Installing the Adapter and New Card
You’ll next want to grab your adapter (yes, this is the worst picture I’ve ever taken with a DSLR):
Before installing, remove those two screws, you won’t need them. The hole in the center without a screw is where you’ll screw this into the laptop. Place it in the connector at a slight upwards angle, pushing it down until it’s flat, and screw it down with the same screw you kept from the old WiFi card, like so:
Once in place, grab the new WiFi card, and plug it in. It will take a fair amount of force as it’s a tight fit, but trust me, it will fit. Note that it is longer than the adapter board, and therefore the only thing that is keeping it in right now is said tight fit, I’m not too concerned about it.
Finally, There are three small connectors at the end labeled
The gray wire goes to 0, the black goes to 1, and the blue goes to 2.
They are a little tricky to put into position as rotating the connector to the right orientation (flat side up) is something it seems that they try and actively resist, despite being an inanimate piece of metal.
It takes a little force to connect them, but you should feel, if not hear, a tiny click / snap of the two sides attaching. If you very gently nudge / rotate it and it stays on the board, it’s on properly. When done, you should have this:
Now if you look at this from the side…
It sticks up. A lot. Don’t worry, somehow this will just barely fit. And to a point, the pressure of the case will help keep the card from wiggling itself free.
Make sure the plastic flap is covering the card again, and reconnect the internal battery. Move the antenna wires away from the edge if you need to. If you start to place the cover on and can see wire through it, then it won’t shut properly and you need to move it. Line up the cover over the laptop and press firmly around the edges, you’re listening to hear all the snaps reengage. Note that you likely won’t get all of them, hearing a few more click into place after putting it all together is normal, but the sounds of plastic cracking is.. well.. definitely not.
Once it’s snapped together, tighten down all the screws, and then reinsert the battery. The connector for the external battery is right next to the giant circuit board stack, and you might need to give it just a little extra force to make sure the snap is engaged. For the most part though, it isn’t that bad (camera didn’t want to focus on the one thing it was pointed at):
While you can feel a little variation if you run your hand over it, it still sits on a surface level and stable, and docking is unaffected.
Anyways, once your cover is attached, screw in all the screws again, and slide the battery back into place, make sure both latches lock it in.
With this, you are done! Turn it over and start it up, it may take a few seconds as the laptop itself is scanning the new hardware, and Clover too will want to have a look. As long as you get no error message, a few seconds of black screen is acceptable. Once it boots though, and you log in, you should see the wifi indicator on the top menu bar if it’s working.
Enabling the App Store and iCloud
If you want to access the App Store, iMessages, FaceTime, iCloud, etc., you’ll need to follow a few more steps.
Open Clover Configurator again, mount your EFI partition again, and up at the top of your screen, choose File, Open…, pick “EFI” from “Locations” on the left, go
CLOVER, and open
You can close the previous window, not the one that just opened.
On the left, choose the “Rt Variables” section, Click the arrow on the “ROM” box, and select
Make sure that “MLB” is empty, “BooterConfig” contains
0x28, and “CsrActiveConfig” contains
Now, head into the “SMBIOS” section, and towards the lower part of the right edge, there should be a small button with two arrows on it.
A giant list will appear, select the one that begins with
You can ignore most of these options and boxes, just make sure to check the “Trust” box on the lower right.
Under the “System” heading, there is a Serial Number box. Hit Generate New a few times, and paste the number into EveryMac’s lookup, you’ll have to give a quick captcha before it lets you see. if it returns product specs, you’re good. If it says it’s an invalid serial number, generate another and keep trying until it does.
Once you have a valid serial, go to Apple’s Coverage Check and paste your serial in there too. Unlike before, you want this to fail, as if it exists, it means that serial already exists. If it does show a product, start from before, making sure EveryMac likes it, and Apple does not.
Once you have a good serial, generate a SmUUID a few times until you’re satisfied that it’s nice and randomized. You may now go back to File, Save, (it’ll complain, just accept, it’s nothing), and then head into the “Mount EFI” tool and click “unMount Partition”. Make sure to reboot so clover can catch the changes, and now, it should not be flagged when visiting the App Store.
In System Preferences (Gears icon), there’s a few things you might want to change. Under “Trackpad”, and “Point & Click”, make sure to uncheck force click, and if you want, change secondary click from “Click with two fingers” to “click in bottom right corner” (or left, your mac). Tap to click is also nice if you don’t want to physically press down.
Under Keyboard, and Shortcuts, you can do many things, like change screenshot from ⌘ + Shift + 3 to the dedicated Print Screen key on the bottom. In the “Keyboard” tab of this menu, “Modifier Keys” in the bottom right allows you to remap modifiers. if you’re used to windows, I’d suggest swapping the Command and Control keys around.
I’m available on, fittingly enough, My own email server (mailto link) if you have a question. Ask away, I know my method of explaining can be a little hard to follow at times. Plus what I have here doesn’t cover every edge and failure case, I’m only going to add those that I encounter because otherwise it’d just be so long to read.. and most of it wouldn’t be relevant. So if there’s something that this didn’t cover, feel free to bring it to my attention.
This guide is still being actively worked on, you can check the top which will indicate the time of the last committed change. If it’s increased, check for anything here that’s been crossed off, and you’ll see what was added.
- Additional Graphics (gifs in progress)