C. Hậu cài đặt
I. Cài đặt cơ bản để không phụ thuộc vào USB
Chạy Hackintosh Vietnam Tool, tích những thứ sau:
Nhấn Continue, nhập password và chờ đến khi tool báo successful
Vào ổ Mac của các bạn, tìm tới folder Extra, copy file SSDT.aml; phân vùng EFI sẽ được mount sẵn sau khi Hackintosh Vietnam Tool chạy xong, tìm tới EFI/Clover/ACPI/Patched và paste SSDT.aml vào đây
Copy config.plist trong USB của các bạn EFI/Clover trong phân vùng EFI của SSD
Đối với NUC i3, trong thư mục NUC_Package_Yosemite/PostInstall/Nuc_i3, có 3 kext FakePCIID, FakePCIID_HD4600_4400, FakePCIID_Intel_HDMI_Audio; chạy Kext Wizard trong thư mục Tools ngoài Desktop, chuyển sang tab Installation. Kéo 3 kext đó vào khung "Select kexts to install" rồi nhấn Install
Chuyển sang Maintenance, nhấn vào Repair Permission rồi Execute
Sau khi repair permission xong, mở Terminal và nhập các lệnh sau để rebuild cache:
Mã:
sudo -s //nhập pass
kextcache -system-prelinked-kernel
kextcache -system-cache
Tới đây reset lại NUC. Hiện tại NUC đã tự có thể boot vào được OS X mà không cần tới USB
II. Patch DSDT-SSDT
Ở menu Clover, nhấn F4, chờ 4s sau đó vào OS X. Mở Clover Configurator lên, tool sẽ hỏi Mount EFI hay không, chọn Yes và làm như hình
Tìm đến thư mục EFI\Clover\ACPI rồi copy thư mục origin bỏ ra Desktop
Vào thư mục origin ngoài Desktop, xóa hết các file .aml và .txt ngoại trừ DSDT.aml và SSDT-z.aml ( z là số ). Xóa luôn các SSDT có chữ x bên cạnh số. Sau khi xóa, mở Terminal lên, gõ các lệnh sau:
Mã:
cd ~/Desktop/origin
iasl -da *.aml
Lệnh này sẽ decompile các DSDT và SSDT hiện có để giảm tối thiểu lỗi.
Sau khi decompile, mở DSDT.dsl lên bằng MacIASL, nhấn Patch, sau đó paste các lệnh sau:
Mã:
into device label PCI0 code_regex (\s+Zero){2,} removeall_matched;
into method label ADBG replace_content begin Return(0) end;
into definitionblock code_regex External\s+\(_SB_\.PCI0\.PEG0,\sUnknownObj\) remove_matched;
into definitionblock code_regex External\s+\(_SB_\.PCI0\.PEG0\.PEGP,\sUnknownObj\) remove_matched;
Nhấn Apply, thoát giao diện Patch. Trên menu bar, chọn MacIASL > Preference, tab IASL chọn Compiler Option là ACPI 5.0, tab Source add như sau:
Name: Rehabman
URL:
http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
Đóng giao diện Preference, nhấn Compile. Nếu không còn error nào nữa, save lại file dsl. Tiếp tục mở giao diện Patch lên, chọn và Apply từng patch sau theo đúng thứ tự:
Mã:
[syn]Remove _DSM methods
[sys]Add IMEI
[sys]Add MCHC
[sys]Fix _WAK Arg0 v2
[sys]Fix Mutex with non-zero SyncLevel
[sys]Fix PNOT/PPNT
[sys]Haswell LPC
[sys]HPET Fix
[sys]IRQ Fix
[sys]OS Check Fix (Windows 8)
[sys]RTC Fix
[sys]Shutdown Fix v2
[sys]SMBUS Fix
[usb]7-series/8-series USB
[igpu]Rename GFX0 to IGPU
[igpu]Rename B0D3 to HDAU
Sau khi apply các patch trên xong, apply tiếp patch sau:
Mã:
into method label _DSM parent_label HDEF remove_entry;
into device label HDEF insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"layout-id", Buffer() { 1, 0x00, 0x00, 0x00 },\n
"hda-gfx", Buffer() { "onboard-1" },\n
"PinConfigurations", Buffer() { },\n
//"MaximumBootBeepVolume", 77,\n
})\n
}\n
end;
Thoát giao diện Patch, nhấn Compile, nếu không có Error thì Save As:
Name: DSDT
File Format: ACPI Machine Language Binary
Where: Desktop
Mở từng SSDT để tìm xem SSDT nào chứa GPU Intel.Đặc điểm là trong SSDT này chứa các Device B0D3 và GFX0. Thường thì mình hay tìm ngược số thứ tự, trong trường hợp này là SSDT-7.dsl
Sau khi xác định được SSDT nào chứa card rời, mở dsl của nó lên. Mở giao diện Patch, apply từng patch sau theo đúng thứ tự:
Mã:
[igpu]Rename GFX0 to IGPU
[igpu]Rename B0D3 to HDAU
Tùy vào NUC của các bạn là i3 hay i5 mà patch sau sẽ khác biệt:
NUC i3:
Mã:
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"device-id", Buffer() { 0x12, 0x04, 0x00, 0x00 },\n
"AAPL,ig-platform-id", Buffer() { 0x03, 0x00, 0x22, 0x0d },\n
"hda-gfx", Buffer() { "onboard-1" },\n
"model", Buffer() { "Intel HD Graphics 4400" },\n
})\n
}\n
end;
NUC i5:
Mã:
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"AAPL,ig-platform-id", Buffer() { 0x03, 0x00, 0x22, 0x0d },\n
"hda-gfx", Buffer() { "onboard-1" },\n
})\n
}\n
end;
Thoát giao diện Patch, nhấn Compile. Nếu không có error nào, Save as:
Name: SSDT-1
Format: ACPI Machine Language Binary
Where: Desktop
Sau khi lưu xong, ngoài desktop sẽ có 2 file DSDT.aml và SSDT-1.aml; copy 2 file này, mount phân vùng EFI lên và copy vào thư mục EFI/Clover/ACPI/Patched ( nằm chung chỗ với file SSDT.aml )
Reset NUC, vậy là đã xong công đoạn patch DSDT/SSDT
III. Sound
Sau khi reset ở bước trên xong. Kiểm tra trong System Report > Audio > Intel High Definition Audio, nếu Audio ID là 1 thì đã sẵn sàng để enable sound
Vào thư mục NUC_Package_Yosemite/PostInstall/Audio, unzip file audio_cloverALC-110_v1.0b.command.zip ra, sẽ có 1 file command. Mount phân vùng EFI ra, sau đó mở file command lên và làm như hình
Sau khi file command chạy xong, vào EFI/Clover/kexts/10.10 rồi copy file RealtekALC.kext ra Desktop, rồi xóa luôn file đó trong folder 10.10; cài kext đó bằng Kext Wizard như bước C-I rồi rebuild cache, sau đó reset NUC. Như vậy là đã enable được sound