Skip to main content

Chuẩn bị file cần thiết

info
  • Bài viết này bao gồm danh sách file để hackintosh mà bạn sẽ cần chuẩn bị.
  • Bạn cần phải hiểu công dụng của chúng!
  • Tuỳ thuộc vào cấu hình máy của bạn mà chọn file chứ không phải tải tất cả.

Installers

note

Hướng dẫn này không hỗ trợ các bản macOS 10.12 trở về trước do đã quá cũ!

Bootloaders

Firmware Drivers

  • Firmware driver là driver sử dụng cho bootloader (không phải driver cho OS).
  • Chúng cần phải có để phục vụ cho các chức năng của bootloader ví dụ như HFSPlus.efi để bootloader có thể đọc được phân vùng định dạng HFS.
  • Những driver chính đã có sẵn trong file bootloader ở trên, vị trí của chúng:
    • OC: EFI/OC/Drivers/
    • Clover: EFI/Clover/Drivers/Off

Universal

Đối với tất cả hệ thống, bắt buộc cần phải có một số .efi drivers:

DriverOCCloverCông dụng
HfsPlus.efiOcBinaryDataOcBinaryDataHỗ trợ định dạng HFS, nếu không có bạn sẽ không thấy phân vùng cài đặt từ usb
ApfsDriverLoader.efiTích hợp sẵnEFI/Clover/Drivers/Off/UEFI/MemoryFixHỗ trợ định dạng APFS, nếu không có bạn sẽ không thấy phân vùng macOS
OpenRuntime.efiEFI/Drivers/EFI/Clover/Drivers/Off/UEFI/MemoryFixPatch boot.efi sửa lỗi NVRAM và quản lý bộ nhớ

Kexts

Kext là viết tắt của Kernel extension, bạn có thể hiểu nó tương tự như driver trong Windows.

Bắt buộc phải có

  • VirtualSMC

    • Giả lập chip SMC trên realmac, không có nó thì không boot được macOS
  • Lilu

    • Kext dùng để patch nhiều tiến trình, yêu cầu cho AppleALC, WhateverGreen, VirtualSMC và rất nhiều kext khác, nếu không có Lilu, chúng sẽ không chạy.
    • Ngày xưa khi chưa có Lilu, gần như mọi việc bạn sẽ cần làm thủ công, Lilu cho phép chỉnh sửa các kext và hệ thống macOS khi boot, ví dụ lúc trước nếu bạn patch AppleHDA, bạn sẽ phải chỉnh sửa và thay thế AppleHDA.kext trong hệ thống, còn bây giờ, AppleALC thông qua lilu sẽ chỉnh sửa AppleHDA.kext lúc boot.

VirtualSMC Plugins

Những plugins này không cần thiết để boot, nhưng nó có số tác trong trường hợp cụ thể (nên biết):

  • SMCProcessor.kext
    • Dùng để đọc thông tin nhiệt độ CPU, không hoạt động với CPU AMD
  • SMCSuperIO.kext
    • Dùng để đọc thông tin fan speed, không hoạt động với CPU AMD
  • SMCLightSensor.kext
    • Dùng cho cảm biết ánh sáng trên laptop, pc thì bỏ qua
    • Không dùng nếu máy không có cảm biến hay không có chức năng tự điều chỉnh độ sáng theo ánh sáng xung quanh
  • SMCBatteryManager.kext
    • Dùng để đọc thông pin phần trăm pin trên laptop, pc thì bỏ qua
  • SMCDellSensors.kext
    • Cho phép theo dõi và điều chỉnh tốc độ fan trên máy Dell hỗ trợ System Management Mode(SMM)
    • Không phải máy Dell thì bỏ qua, rất nhiều laptop Dell có thể dùng kext để chỉnh quạt

Graphics

  • WhateverGreen
    • Dùng cho graphics patching, DRM fix, board ID check, framebuffer fix, ... tất cả GPU cần kext này

Audio

  • AppleALC
    • Dùng để patch AppleHDA, giúp audio hoạt động trong macOS

Ethernet

Tuỳ vào cấu hình máy bạn, chọn kext phù hợp với Ethernet card trong máy

  • IntelMausi
    • Dùng cho Intel NICs
    • Hỗ trợ Intel's 82578, 82579, I217, I218 and I219 NICs
  • SmallTreeIntel82576 kext
    • Dùng cho Intel I211 NICs
  • AtherosE2200Ethernet
    • Dùng cho Atheros và Killer NICs
    • Killer E2600 chưa được hỗ trợ
  • RealtekRTL8111
    • Dành cho Realtek Gigabit Ethernet
    • macOS 10.13 dùng bản 2.2.2 tới v2.3.0, macOS 10.14 trở đi dùng bản 2.4.0 hoặc cao hơn
    • Nếu bạn dùng bản kext cao mà lỗi thì thử bản cũ hơn
  • LucyRTL8125Ethernet
    • Cho Realtek 2.5Gb Ethernet
  • Đối với Intel I225-V NICs, cần phải patch device properties, sẽ đề cập sau
  • Một số NICs native trong macOS, thường rất ít khi gặp nên tôi không đề cập

USB

  • USBInjectAll

    • Kext dùng cho Intel USB hoạt động mà không cần patch acpi
    • Không hoạt động với AMD CPU
  • XHCI-unsupported

    • Cần cho non-native USB controllers
    • PC AMD CPU không cần
    • Mainboard chipsets cần phải có kext này: X79, X99, H410, B460
  • USBToolBox

    • Kext và tool mới, dùng trên windows giúp map usb nhanh và dễ sử dụng

WiFi and Bluetooth

Intel

  • AirportItlwm
    • Hỗ trợ rất nhiều card wifi intel trước kia thì chỉ có thể thay card
  • IntelBluetoothFirmware
    • Hỗ trợ Bluetooth hoạt động trong macOS nhưng vẫn còn nhiều hạn chế

Broadcom

  • AirportBrcmFixup
    • Dùng để patch non-Apple/non-Fenvi Broadcom card như dòng BCM94352
  • BrcmPatchRAM
    • Dùng để sửa lỗi firmware trên Broadcom Bluetooth, Dùng cho tất cả non-Apple/non-Fenvi Airport card.

Extras

  • AppleMCEReporterDisabler

    • Chặn AppleMCEReporter kext gây panic trên hệ thống AMD CPU
    • Tác dụng với SMBIOS: MacPro6,1 MacPro7,1 iMacPro1,1
  • CpuTscSync

    • Cần để đồng bộ TSC trên một số máy HEDT và main server, nếu thiếu thì máy có thể chạy chậm, giật lag
    • Một số laptop Dell và ASUS cũng cần kext này
  • NVMeFix

    • Sửa lỗi power management cho non-Apple NVMe
  • CtlnaAHCIPort

    • Hỗ trợ một số SATA controller trên macOS Big Sur trở đi, do những controller đã bị apple bỏ đi, không native nữa
    • Nếu gặp trường hợp không nhận ổ cứng SATA thì phải thêm kext này

Laptop Input

Dựa vào phần cứng trackpad có trên máy mà chọn kext phù hợp, kext cho bàn phím và trackpad

info

Đa số bàn phím laptop là PS2! Một số laptop ASUS, MSI dùng bàn phím USB!

PS2 Keyboards/Trackpads

  • VoodooPS2
    • Hoạt động với PS2 keyboard, mice, và trackpad
  • RehabMan's VoodooPS2
    • Dành cho những máy đã cũ xài PS2 keyboard, mice, and trackpad, thường là intel gen 2/3

SMBus Trackpads

  • VoodooRMI
    • Dành cho máy dùng Synaptics SMBus trackpad
    • Các máy Thinkpad và một số máy HP sẽ cần kext này
  • VoodooSMBus
    • Dành cho máy dùng ELAN SMBus Trackpad
    • Cụ thể là cho máy T480, T480, L380

I2C/USB HID Devices

  • VoodooI2C
    • Bao gồm VoodooI2C và các plugin dành cho các loại I2C trackpad/touch khác nhau
    • Cụ thể về các plugin xem bảng dưới
VoodooI2C Plugins
Kiểu kết nốiPluginCông dụng
Multitouch HIDVoodooI2CHIDDùng cho đa số I2C/USB Touchscreen và Trackpad
ELAN ProprietaryVoodooI2CElanThường là dùng cho ELAN1000 trên một số laptop ASUS gen 6
FTE1001 touchpadVoodooI2CFTEChưa thấy máy nào dùng
Atmel Multitouch ProtocolVoodooI2CAtmelMXTChưa thấy máy nào dùng
Synaptics HIDVoodooRMIDành chp I2C Synaptic Trackpads (chỉ cần VoodooI2C), trên một số laptop HP
Alps HIDAlpsHIDDùng cho USB hoặc I2C Alps trackpad, trên một số laptop Dell Latitude, HP gen 7

Laptop Misc

  • ECEnabler
    • Sửa lỗi hiển thị phần trăm pin trên laptop mà không cần patch acpi
  • BrightnessKeys
    • Sửa lỗi phím tăng giảm độ sáng không hoạt động
info

Nếu bạn muốn tìm hiểu thêm về kext vui lòng xem danh sách Kexts.md này

Configs

Config.plist là file cấu hình tất cả các chức năng của Bootloader (OC và Clover). Chỉnh sửa một file config là phần rất quan trọng và phức tạp nên tôi sẽ viết thành một phần riêng. Vui lòng đọc các phần sau!