This is a guide on how to install macOS mojave on the Thinkpad X250.
Bugs:
Trackpoint
(doesn't work)Trackpad Buttons
(both are registered as a short right-click)Battery indicator
(it goes down to 7% when one of the batteries is empty and then just stays there and doesn't show the status of the second battery)
What will (most likely) never work:
- Out-of-the-box
Wifi/Bluetooth
(just use a dirt cheap USB Wifi Dongle, like the TP-Link WN725N, or replace the Wifi Card with a macOS compatible one, like the Dell DW1560 or the Broadcom BCM94352Z) PCI Card Reader
VGA
(use miniDP instead)
- I included parts and combined a few other guides to make this. Credit for those guides is given to their respective owners.
- It is assumed that you have a decent understanding of Hackintosh, the macOS environment, as well as how to do basic computer tasks
- Special thanks to
hackintosh-forum.de
and their thread on the X250 here. TheEFI
folder and the kexts were posted there by 3zra and are his and credit goes to him. Also a special thanks to midi1996 on GitHub for his guide on how to create the macOS installer from Recovery. Parts of his guide were included here to streamline the process. - Note: I am NOT responsible for any harm you cause to your device. This guide is provided "as-is" and all steps taken are done at your own risk
- A USB drive (minimum is 4GB)
- A working Ethernet connection
- Python 2.7 or greater:
- For Windows, get it from https://www.python.org/downloads/windows/ and make sure you enable "add to PATH" in the install
- For Linux users, install it if you dont have it following your distro's tools
- For macOS users, you already have 2.7+ version installed, no need for extra tools
- gibMacOS: a sweet tool from /u/corpnewt https://github.com/corpnewt/gibMacOS
- press
Clone or Download
button and download as Zip, extract it somewhere
- press
- Clover Configurator: a tool to edit the
config.plist
file and to mount theEFI
partition. https://mackie100projects.altervista.org/download-clover-configurator/
The BIOS must be properly configured prior to installing MacOS.
In Security
menu, set the following settings:
Security > Security
Chip: must be Disabled,Memory Protection > Execution Prevention
: must be Enabled,Virtualization > Intel Virtualization Technology
: must be Disabled,Internal Device Access > Bottom Cover Tamper Detection
: must be Disabled,Anti-Theft > Current Setting
: must be Disabled,Anti-Theft > Computrace > Current Setting
: must be Disabled,Secure Boot > Secure Boot
: must be Disabled.
In Startup
menu, set the following options:
UEFI/Legacy Boot
: Both,UEFI/Legacy Priority
: UEFI First,CSM Support
: Yes.
Open the unzipped gibmacOS
folder. If you're using macOS or Linux, you should know how to cd
to it through your preferred Terminal emulator. If you're a Windows user, follow these instructions to get to the command line inside the folder.
- Open Command Prompt/PowerShell and
cd
to where it is. - OR open the folder where it is, press
Files
>Open Windows PowerShell
Now that you're inside the command prompt/powershell/terminal, we'll use gibMacOS to download the Recovery HD to be restored:
- run
python gibMacOS.command -r -v mojave
- The software will download the recovery image, meanwhile:
- Plug your USB device
- Backup any data *from* it
- Format it (it will be formatted anyways later on)
After the download, you'll find a new folder named macOS downloads
where the program we used downloaded macOS recovery image for your macOS version. For this part of the setup. I'll be separating it to the 3 main OSes and how to make it.
Inside the same folder of gibMacOS, you'll find a cute MakeInstall.bat
, double click it, accept UAC admin user, you'll be greeted by a CMD screen. The software will download software needed (dd
port for windows and 7-zip). Then you'll be greeted with a list of drives:
- Carefully choose your drive (look for the size, name or other features that points to your USB device).
- type in its number
- press enter and follow the rest of the instructions
This section will target making the necessary partitions in the USB device. You can use your favorite program be it gdisk
fdisk
parted
gparted
or gnome-disks
. I will focus on gdisk
as it's nice ¯\_(ツ)_/¯ and can change the partition type later on, as we need it so that macOS Recovery HD can boot. [the distro used here is Ubuntu 18.04, other versions or distros may work]
In terminal:
- run
lsblk
and determine your USB device block - run
sudo gdisk /dev/<your USB block>
- send
p
to print your block's partitions (and verify it's the one needed) - send
o
to clear the partition table and make a new GPT one- confirm with
y
- confirm with
- send
n
- partition number: keep blank for default
- first sector: keep blank for default
- last sector:
+200M
to create a 200MB partition that will be named later on CLOVER - Hex code or GUID:
0700
for Microsoft basic data partition type
- send
n
- partition number: keep blank for default
- first sector: keep blank for default
- last sector: keep black for default (or you can make it
+3G
if you want to partition further the rest of the USB) - Hex code or GUID:
af00
for Apple HFS/HFS+ partition type
- send
w
- Confirm with
y
- Confirm with
- Close
gdisk
by sendingq
- send
- Use
lsblk
again to determine the 200MB drive and the other partition - run
mkfs.vfat -F 32 -n "CLOVER" /dev/<your 200MB partition block>
to format the 200MB partition to FAT32, named CLOVER - then
cd
tomacOS downloads
and keep going until you get to apkg
file- download
p7zip-full
(depending on your distro tools)- for ubuntu/ubuntu-based run
sudo apt install p7zip-full
- for arch/arch-based run
sudo pacman -S p7zip
- for the rest of you, you should know ¯\_(ツ)_/¯
- for ubuntu/ubuntu-based run
- run this
7z e -txar *.pkg *.dmg; 7z e *.dmg */Base*; 7z e -tdmg Base*.dmg *.hfs
this will extract the recovery from the pkg through extracting the recovery update package then extracting the recovery dmg then the hfs image from it. - then when you get
4.hfs
or3.hfs
(depending on the macOS version used) rundd if=*.hfs of=/dev/<your USB's second partition block> bs=8M --progress
(you may change the input fileif
and the block size to match your needs
- download
After the download, open macOS downloads/.../...
until you find RecoveryHDUpdate.pkg or RecoveryHDMetaDmg.pkg (enable file name extensions in Finder under Finder > Preferences > Advanced).
- locate the pkg
- do not open it
- rename the extension from
.pkg
to.dmg
- open the image (it will be mounted)
- find
Basesystem.dmg
- double click to mount it
- open
Disk Utility
application (Launchpad > Other >)- Select View > Show All devices (above the drive list)
- Select your USB device (not the partition)
- Select Partition
- if you do not see partition:
- Select Erase
- Name: whatever Format: MacOS Extended Journaled Scheme: GUID Partition Table
- if you do not see partition:
- Make:
- a minimum of 200MB partition Name: CLOVER Format: MSDOS
- the rest Name: whatever you want Format: MacOS Extended Journaled
- Apply
- Select the MacOS Extended Journaled partition
- Select Restore
- Choose BaseSystem from the list (it should be the image you mounted earlier)
- Let it restore
Copy the EFI
folder provided in my repo onto your USB flash drive CLOVER
partition. The partition is usually hidden. Use Clover Configurator to mount the EFI partition of your flash drive on your mac (it appears as a disk on the desktop once done). On Windows or Linux it shouldn't be hidden.
Install macOS by booting from the USB installer. Format your local drive with the Disk Utility application as Apple Extended Journal
and GUID-partition table
.
It takes about 30 min from start to finish. The computer will restart multiple times. When rebooting, make sure to select Install macOS ...
each time in the Clover boot menu. Once installed, choose to boot from local drive in the Clover boot menu.
To finish the setup, you need to make your local drive bootable (right now you are still using the Clover boot from your USB installer to boot your system:
- Copy EFI folder from USB flash drive to local drive
EFI
partition (like you did for the USB installer) which can be mount with Clover Configurator. - Install Kexts: Create a folder named
Kext
on your desktop and copy kernel extensions found in/EFI/CLOVER/kexts/Other
into it. Open Terminal and typecd desktop/Kext
. Then typesudo cp -R *.kext /Library/Extensions
to move the files and rebuild the cache withsudo kextcache -i /
. - Delete Kexts from Clover: Now go back to
/EFI/CLOVER/kexts/Other
and delete everything, exceptFakeSMC.kext
,IntelMausiEthernet.kext
andVoodooPS2Controller.kext
.
Once finished reboot your system.