OpenCore · hardware scan → EFI → bootable media

A hackintosh,
generated for your machine.

One Python tool that scans your hardware, picks the kexts, writes a validated OpenCore config.plist and builds the bootable macOS installer. From Linux or Windows — you never need a Mac.

$ curl -fsSL https://raw.githubusercontent.com/devfrp/easy-hackintosh/main/get.sh | sh
PS> irm https://raw.githubusercontent.com/devfrp/easy-hackintosh/main/get.ps1 | iex
00

The manual build, done for you

Building a hackintosh by hand means reading a hundred-page guide, guessing which kexts apply to your board, hand-editing a config.plist, then making a USB stick from a Mac you don't own. easy-hackintosh does all four: it asks for the macOS version, downloads the official Apple recovery, reads your actual hardware and writes an OpenCore EFI that matches it — checked by ocvalidate before anything is written to the media.

01

From the first question to bootable media

Seven steps chained by a single assistant. Everything lands in build/ — delete the folder to start over.

1 · versionPick the macOS version, from High Sierra to Tahoe (26) — non-interactive with EH_VERSION=sequoia
2 · recoveryDownloads the official recovery from Apple's servers, through macrecovery
3 · scanReads the real hardware: CPU, iGPU/dGPU, Ethernet, Wi-Fi, audio codec, NVMe — written to build/hardware.json
4 · kextsInstalls the matching kexts: Lilu, VirtualSMC, WhateverGreen, AppleALC, network drivers…
5 · configGenerates the OpenCore config.plist: quirks and SMBIOS matched to the machine
6 · ocvalidateValidates the configuration with the official OpenCore tool before anything is written
7 · mediaHybrid bootable ISO (Linux: USB stick or QEMU VM) or a direct write to a USB stick (Windows)
02

Hardware handled automatically

Every detected component pulls in the kext or SSDT that goes with it — no checkbox to tick.

Detected componentKext / SSDTState
Intel iGPU / AMD dGPU
display and acceleration patches
WhateverGreenAUTO
Audio (Realtek ALC…)
with a starting layout-id
AppleALCAUTO
Intel / Realtek Ethernet
picked from the controller found
IntelMausi · RealtekRTL8111 · LucyRTL8125AUTO
Intel / Broadcom Wi-Fi
kext build chosen per macOS version
AirportItlwm · AirportBrcmFixupAUTO
USB
re-enumerates every port
SSDT-RHUBAUTO
ACPI — EC, clock, CPU, backlight
universal boot-safe SSDTs (Dortania)
SSDT-EC/USBX · AWAC · PLUG · PNLFAUTO
NVMe
compatibility patches
NVMeFixAUTO
SMC
mandatory — emulates the Apple controller
VirtualSMC + pluginsAUTO
Precise USB mapping
15-port-per-controller limit — USBToolBox on Windows
manualOPTIONAL
03

Install

On Windows, open PowerShell as Administrator for the USB write. get.ps1 installs Python and Git through winget if they are missing; partitioning goes through diskpart, which ships with Windows.

Linux

# full assistant
curl -fsSL https://raw.githubusercontent.com/devfrp/easy-hackintosh/main/get.sh | sh

# dependencies (Arch)
sudo pacman -S --needed python mtools gptfdisk \
  pciutils usbutils qemu-full edk2-ovmf

Windows (PowerShell)

# Administrator console for USB
irm https://raw.githubusercontent.com/devfrp/easy-hackintosh/main/get.ps1 | iex

Manually

git clone https://github.com/devfrp/easy-hackintosh.git
cd easy-hackintosh
python3 easy_hackintosh.py   # Windows: python

Sub-commands

python3 easy_hackintosh.py         # the whole assistant
python3 easy_hackintosh.py scan    # hardware scan only
python3 easy_hackintosh.py efi     # regenerate the EFI
python3 easy_hackintosh.py image   # rebuild the media

Output & test

# test in a VM (Linux)
build/out/run-qemu.sh

# write to USB — ⚠ erases the stick
sudo dd if=build/out/macOS-*.iso of=/dev/sdX \
  bs=4M oflag=sync status=progress
Produced fileContents
build/out/macOS-<version>.isoHybrid bootable ISO, a single file (Linux: USB or QEMU)
build/EFI/The generated OpenCore EFI folder
build/out/run-qemu.shBoots the ISO in a VM (Linux)
build/hardware.jsonResult of the hardware scan
04

What to know before you run it

No tool guarantees a first-try boot. Here is exactly where the limits are.

  • ONLINE
    "Recovery" installer · macOS is downloaded during installation — a connection is required. A full offline installer needs createinstallmedia, which only exists on macOS.
  • AUTOMATED
    ACPI, USB and Wi-Fi · universal boot-safe SSDTs (EC, USBX, AWAC, plugin-type, PNLF), USB through SSDT-RHUB, and the Wi-Fi kext chosen per version — Intel AirportItlwm or Broadcom AirportBrcmFixup.
  • STARTING POINT
    The EFI still needs tuning · precise USB mapping through USBToolBox (Windows); Intel Wi-Fi on Sequoia/Tahoe has no stable build yet — it falls back to the Sonoma build, worth checking; very specific ACPI → SSDTTime and the Dortania guide.
  • TAHOE (26)
    Last Intel macOS release · but only 4 real models are accepted (MacPro7,1, MacBookPro16,1/16,2, iMac20,1/20,2) — the installer rejects a spoofed SMBIOS that isn't one of them. macOS 27 will be Apple Silicon only.
  • LAPTOPS
    Trickier · battery, sleep, Wi-Fi and USB almost always need extra work.