Kiến thức cơ bản
Tìm hiểu về một số thuật ngữ
WEG chính là kext thông dụng nhất Whatevergreen
Kext
Trước hết, kext là gì?
Kext (
Kernel Extension
) là 1 trình điểu khiển phần cứng mà bên Windows gọi là drivers.
Thế thêm kext vào đâu?
Có 3 nơi thêm kext:
O/K (OC ⇒ Kext)
Hoặc C/K/O (CLOVER ⇒ Kexts ⇒ Other)
L/E (Library ⇒ Extensions)
S/L/E (System ⇒ Library ⇒ Extentions)
Thứ tự ưu tiên L/E ⇒ S/L/E ⇒ O/K (C/K/O)
Khi bỏ kext vào
L/E
hoặcS/L/E
ta cần prebuilt kext cacheĐể bỏ kext vào L/E ta dùng kext droplet
để bỏ kext vào S/L/E ta có thể dùng kext utility
Khi bỏ kext vào O/K ta cần thêm kext vào config.plist xem caách thêm kext tại đây
Riêng đối với OpenCore
Các kext được load theo một thứ tự xác định
Tức là kext nào được load trước sẽ được quyết định trong
config.plist
Cụ thể là trong
Kernel -> Add
Ở trong đây kext nào được liệt kê trước sẽ được load trước
SSDT và DSDT
Trước hết SSDT và DSDT là gì
Ta có thể hiểu nó là các bản giao thức điều khiển thiết bị
Xem chi tiết tại đây
Tại sao cần patch DSDT/SSDT khi hackintosh?
Nhưng bạn cũng cần phải biết không chỉ MacOS mới có ACPI mà tất cả các máy đều có ACPI bạn nhé
Mà do DSDT/SSDT của macOS được Apple quản lý theo 1 quy định chặt chẽ tối ưu cho các máy Mac,
Đồng thời là hackintosh nên 1 số phần cứng như pin , card âm thanh , đồ hoạ v.v có thể không hoạt động nên ta phải patch DSDT/SSDT để máy hoạt động giống Mac thật nhất có thể.
Các cách patch DSDT chủ yếu:
Có 2 cách patch dsdt chủ yếu là Static patch và Hot patch.
Static patch đây là cách patch truyền thống đối với cách patch này ta cần dump DSDT ra và fix lỗi trực tiếp trên DSDT, sau đó bỏ nó vào bộ nạp khởi động nó sẽ được inject khi vào OS, cần gì fix đó, còn nhược điểm của cách patch này là khi update firmware ta sẽ phải patch lại toàn bộ.
Còn hot patch là cách patch tìm những đoạn mã cần sửa trong DSDT và sửa lại, không sửa trực tiếp đối nó sẽ tự động inject ra khi khởi động vào OS, với cách patch này khi update firmware ta không cần patch lại.
Xem chi tiết hơn ở advanced guide
Các tool hackintosh cơ bản
SSDTTime: Công cụ đơn giản nhằm tạo các SSDT cần thiết nhanh chóng, đảm bảo hoạt động dựa trên chính DSDT của máy bạn.
gibMacOS: Tải xuống các bộ cài macOS trực tiếp từ Apple.
ProperTree: Trình chỉnh sửa .plist với các tính năng snapshot phục vụ việc load SSDTs, kexts, tools, drivers nhanh chóng.
GenSMBIOS: Tạo mới SMBIOS và áp dụng luôn vào trong config.plist.
Một vài lưu ý
Source tham khảo: https://lzhoang2601.github.io/
Last updated