Tình trạng
Không mở trả lời sau này.

vusun123

Super Moderator
Staff member
12/5/15
626
255
63
Hà Nội
tZgzXNm.jpg


Đây là bài viết chính chủ về cài OS X Yosemite lên NUC Haswell. Ai copy vui lòng để lại credits người viết và link forum.

Các model NUC được support:
D34010WYK ( i3-4010U / Intel HD Graphics 4400 )
D34010WYKH ( i3-4010U / Intel HD Graphics 4400 )
D54250WYK ( i5-4250U / Intel HD Graphics 5000 )
D54250WYKH ( i5-4250U / Intel HD Graphics 5000 )

Tùy vào mỗi model, cấu hình RAM/SSD/mPCIe wifi mà có thể các vấn đề sẽ sinh thêm. Bài viết được viết dựa trên cấu hình sau:
D54250WYKH: i5-4250U / Intel HD Graphics 5000
SSD: Sandisk 100 240GB
mPCIe wifi: BCM94352HMB
RAM: 12GB 1600Mhz
Output Monitor: mHDMI
Cảm ơn bro Johnny Tri đã cung cấp con NUC này cho mình làm bài viết

Bài viết chỉ tập trung cho việc cài độc lập OS X trên 1 SSD, không dính lứu tới Windows.

Changelog:
05/08/2015: Update NUC Package, enable sẵn QE/CI cho NUC i3

21/6/2015: Add thêm HDMI Audio cho NUC i5

20/6/2015: Guide bắt đầu được triển khai
 
Last edited:
A. Tạo bộ cài đặt:
Cách 1: Làm trên 1 máy chạy OS X khác
Download 3 file sau:
Clover.zip
NUC_Package_Yosemite.zip
Hackintosh Vietnam Tool
Download file cài đặt OS X Yosemite trong AppStore
ysvt4HO.png

Mở Disk Utility, cắm 1 USB 8GB ( ưu tiên sử dụng USB 3.0 để đạt tốc độ tối ưu nhất khi cài ). Highlight USB, chọn tab Partition và làm như hình:
nebvbTy.jpg

Đóng Disk Utility, mở Terminal lên và paste lệnh sau vào:
Mã:
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/MacUSB --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction
Chờ đến khi nó báo Done, tắt Terminal
Giải nén Clover.zip, Hackintosh Vietnam Tool và NUC_Package_Yosemite.zip vào phân vùng CLOVER. Vào trong thư mục NUC_Package_Yosemite/PreInstall, có 1 loạt config dành cho model NUC của các bạn, pick cẩn thận. Copy config.plist vào thư mục EFI\Clover
Cách 2: Làm trên 1 máy chạy Windows
Các bạn tham khảo ở đây

B. Cài đặt:
Khỏi động NUC, nhấn F2 để vào bios, điều đầu tiên cần làm là reset bios về Default, cho các giá trị về mặc định. Sau đó bắt đầu sửa các mục sau:
• Boot ---> Boot Priority: tích vào cả UEFI Boot lẫn Legacy Boot
obRY2Xu.jpg

• Boot ---> Boot Configuration: tắt Fast Boot
gOrilmf.jpg

• Boot ---> Secure Boot: bỏ chọn Secure Boot
JlMoHLr.jpg

Save lại bằng F10, sau đó restart lại NUC
Nhấn F10 để vào menu boot, chọn boot UEFI từ USB. Màn hình menu Clover sẽ hiện lên, chọn entry của Installer, chờ khoảng 2' bộ cài sẽ hiện lên
1UhCK78.jpg

xmCQ3AT.jpg

Ở menu bar, chọn Utilities > Disk Utility. Tiến hành Erase SSD ở định dạng Mac OS Extended ( Journaled ) và Option SSD là GUID Partition Table
Thoát Disk Utility, Continue cho đến khi hiện ra bảng chọn phân vùng cài đặt. Chọn vào phân vùng các bạn vừa tạo
FjPKFhW.jpg

Khi chạy xong nó sẽ tự restart, boot lại vào bộ cài tiếp để tiếp tục cài đặt
pCbGU2S.jpg

Cài đặt xong, boot vào phân vùng OS X
qPl3KLl.jpg

LB3bhAj.jpg

t7WOY4o.jpg
 
Last edited:
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:
y20fAu9.png

6KEVywL.png

2gYuv96.png

eGVZMPs.png

PhwkTKk.png

eMFjGOO.png

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
Ie2WvT0.png

Chuyển sang Maintenance, nhấn vào Repair Permission rồi Execute
JLXsLdU.png

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
Z73m36K.jpg

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
rgFmM6g.png

rJTO6Xj.png

Đó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
8rtpg5c.png

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 )
ujp6bpX.jpg

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
4vIqQ73.png

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
M70iIBH.jpg

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
 
Last edited:
Tình trạng
Không mở trả lời sau này.