Cấu hình phần cứng thích hợp cho Hackintosh
Dưới đây là một số thông tin hữu ích khi bạn chọn mua laptop hoặc ráp cấu hình cho Hackintosh, hay đang tự hỏi máy bạn có được hỗ trợ đầy đủ cấu hình hay không. Đồ hoạ được xem là quan trọng nhất (vì nếu không hoạt động thì không thấy được màn hình)
CPU
Các dòng CPU Intel từ Core 2 Duo trở về sau được hỗ trợ tốt, hỗ trợ speedstep khá đầy đủ. Riêng các dòng cực cao cấp Sandy-E (SandyBridge với mã Core i7-3xxx) và Ivy-E (IvyBridge với mã Core i7-4xxx) sử dụng socket 2011 khó có thể kích hoạt speedstep (CPU luôn chạy hết công suất), nên các bạn cần xem xét khi mua dòng này.
CPU AMD có thể được sử dụng nhờ vào kernel AMD cho Hackintosh, nhưng chỉ một số dòng được hỗ trợ, thông tin chi tiết có thể xem tại topic chính . Đây là link download kernel AMD cho 10.9/10.9.1
Đồ họa onboard
Với phiên bản Mavericks, các card đồ hoạ onboard được hỗ trợ dễ dàng bao gồm:
- HD Graphics trên CPU Core i đời đầu (phức tạp hơn)
- HD3000 trên CPU SandyBridge
- HD4000 trên CPU IvyBridge
- HD4400, 4600 trên CPU Haswell
Không hoạt động:
- Intel MHD4500/X3100 trở về trước.
- Intel HD Graphics trên CPU Pentium/Celeron thế hệ thứ 2 trở đi
- HD2000
- HD2500 (hiếm khi hoạt động)
- AMD R7 200 Series
- AMD 6400 Series
- AMD 6500 Series
- AMD 6900 Series
Lưu ý một số dòng laptop sử dụng CPU ES (Engineering Sample) hoặc dùng màn hình Samsung không thể kích hoạt được QE/CI.
Đồ họa rời
Nếu như laptop bạn có card đồ hoạ rời + chế độ nVidia Optimus hoặc AMD Switchable Graphics, trong BIOS không có chế độ tắt card onboard thì máy bạn chỉ chạy được card onboard, xem mục trên để biết có hỗ trợ không.
Danh sách một số card đã test (M là card laptop):
- nVidia 7000 Series
- nVidia 8000 Series
- nVidia 9000 Series
- nVidia GT 200 Series
- nVidia GT 400 Series ( tránh GTS 450 vì khả năng tương thích kém )
- nVidia GT 500 Series ( tránh GTX 550Ti vì khả năng tương thích kém )
- nVidia GT 600 Series
- nVidia GT 700 Series ( tránh GTX 780, GTX 780Ti và GTX Titan vì không hoạt động với OpenCL của OS X )
- nVidia GT 520M
- nVidia NVS 5200M
- AMD 4000 Series
- AMD 5000 Series
- AMD 6600 Series
- AMD 6800 Series
- AMD 7750, 7770, 7870, 7950, 7970
- AMD R9 200 Series ( R9 290 và R9 290X chưa được support )
- AMD 4650M, 5470M
Ram
2GB RAM là tối thiểu, 4GB RAM chạy mượt mà. Nếu chạy máy ảo hay nhiều chương trình thì nên nâng cấp lên 8GB RAM.
Audio
Phần lớn các loại codec Audio trên máy có thể dùng VoodooHDA để sử dụng âm thanh, tuy nhiên âm thanh nghe không được hay cho lắm. Để khắc phục nhược điểm này chúng ta có thể patch AppleHDA ( cần kỹ năng nâng cao ). Sau đây là các codec có thể patch được:
Ethernet
Hầu hết các card ethernet hiện tại đều được hỗ trợ trừ 1 số trường hợp sau:
- Realtek 8169 (dùng được nhưng không ổn định vì hay kernel panic)
- Ethernet Killer (chưa có giải pháp hiện tại)
Wifi
Đa số các laptop không có card wifi tương thích sẵn, các bạn có thể tìm và thay thế bởi card được hỗ trợ (các card HMB có kèm bluetooth )
List support các bạn xem ở đây (Màu vàng là dùng kext WifiInjector, màu xanh là không cần cài kext, màu đỏ là phải thay card khác)
Ngoài ra có biện pháp tạm thời là dùng USB Wifi Adapter có hỗ trợ Mac, tuy nhiên có một số khuyết điểm như tốn pin, sóng yếu và có thể gây ra vấn đề với sleep. Một số wifi usb hỗ trợ:
- Tenda W311M, W311MI
- Cnet CQU 960
Danh sách các dòng Laptop chạy tốt Hackintosh đã được test
Dưới đây là danh sách các dòng laptop chạy tốt Mavericks, có thể bị 1 số lỗi nhỏ không đáng kể. Lưu ý một số laptop có whitelist chỉ có thể thay card trong ngoặc. Ai có máy đã cài thành công mà chưa được liệt kê trong list này vui lòng inbox tên máy cho mình
ASUS
ASUS N43SM-VX501
ASUS N53SV
ASUS N55SL
ASUS N56VZ
ASUS N56VB
ASUS N56VV
ASUS N73SV
ASUS N550JV
ASUS K43SD
ASUS K43SJ
ASUS K45VM
ASUS K46
ASUS K53SC
ASUS K53SD
ASUS K55A-RBR6
ASUS K55VM
ASUS K56CA
ASUS S56CB
ASUS X44H
ASUS X553E-SX399V
ASUS X55CC
ASUS X75A
ASUS Pro PU401LA
ASUS Zenbook UX21A
ASUS Zenbook UX31A
ASUS Zenbook UX32VD-DB71
ASUS Zenbook UX301LA
DELL
Dell Inspiron 14Z
Dell Inspiron 4110
Dell Inspiron 5110
Dell Inspiron 5520
Dell Inspiron 7537 (Headphone và Ethernet không hoạt động)
Dell Inspiron 7720
Dell Inspiron 7737 (Headphone và Ethernet không hoạt động)
Dell Inspiron 9400
Dell Vostro 15xx Series
Dell Vostro 35xx Series
Dell Latitude 13
Dell Latitude D630 (nVidia Graphics)
Dell Latitude D830 (nVidia Graphics)
Dell Latitude E5430 (BIOS < A13)
Dell Latitude E5520
Dell Latitude E5530 (BIOS < A13)
Dell Latitude E6220
Dell Latitude E6230
Dell Latitude E6430
Dell Latitude E6520
Dell Latitude E6530
Dell Precision M2300
Dell Precision M4300
Dell Precision M4400
Dell Precision M4600
Dell Precision M65
Dell XPS 13
Dell XPS 15Z
Dell XPS 18
Dell XPS L502X
HP
HP Compaq Presario CQ60
HP HDX X16-1370US
HP G6-2221SS
HP G62-B13SL
HP Pavilion DV6-3165SF
HP Pavilion DV6661EV
HP Pavilion DV6T-7000 (Disable RAID)
HP Pavilion DV7-1120
HP Pavilion DV7-6197
HP Pavilion DV7-7302EG
HP Pavilion DV7T-4100
HP Envy 14 Spectre 14T-3000
HP Envy 14-2166SE
HP Envy 15
HP Envy 17T-J000
HP Envy DV6
HP Envy 6T 1000
HP Spectre XT Touchsmart 15-4000EG
HP Probook 4330s (Thay card HP AR9285)
HP Probook 4430s (Thay card HP AR9285)
HP Probook 4431s (Thay card HP AR9285)
HP Probook 4530s (Thay card HP AR9285)
HP Probook 4730s (Thay card HP AR9285)
HP Probook 4340s
HP Probook 4440s
HP Probook 4441s
HP Probook 4540s
HP Probook 4740s
HP Probook 450 G0
HP Probook 450 G1
HP Probook 5330m (Thay card HP BCM943224HMS)
HP Probook 6360b
HP Probook 6460b onboard (Thay card HP BCM943224HMS)
HP Probook 6560b onboard (Thay card HP BCM943224HMS)
HP Probook 6470b (Thay card HP BCM943224HMS)
HP Probook 6570b (Thay card HP BCM943224HMS)
HP Elitebook 2560p (Thay card HP BCM943224HMS)
HP Elitebook 8460p onboard (Thay card HP BCM943224HMS)
HP Elitebook 8560w (Thay card HP BCM943224HMS)
HP Elitebook 2170p (Thay card HP BCM943224HMS)
HP Elitebook 2570p (Thay card HP BCM943224HMS)
HP Elitebook 8470p
HP Elitebook 8570p
HP Elitebook 8770w
LENOVO
Lenovo Edge E330
Lenovo Twist
Lenovo G570
Lenovo G580
Lenovo U310
Lenovo U410
Lenovo Z570
Lenovo Z580
Lenovo X201S
Lenovo X220
Lenovo Y580
Lenovo Thinkpad T420
Lenovo Thinkpad T430
Lenovo Thinkpad T431S
Lenovo W520
Lenovo W530
SONY
Sony VAIO S13P (SVS13A2C5E)
Sony VAIO VPCEH390X
Sony VAIO SB4
Sony VAIO SVE15117FDB
Sony VAIO VPEH26EN
ACER
Acer Aspire 3820TG
Acer Aspire 4830T
Acer Aspire 5740G
Acer Aspire 5750G
Acer Aspire 4750G
Acer Aspire 4745
Acer Aspire 5745
Acer Aspire M5-581TG
Acer Aspire v5-171
Acer Aspire v5-471G
GIGABYTE
Gigabyte U2442N Ultrabook
SAMSUNG
Samsung NP470R5E
Samsung RF11
Samsung RF411-S03SG
Samsung RF511
Samsung RF711
Samsung NP300 E5E
Samsung NP300 E7A
Samsung NP530 U3B
Samsung NP700 Z5C-S02UB
Samsung NP900 X3A
Samsung NP900 X3C
Samsung NP900 X4C
Samsung Q430
Samsung R480 (NP-R480-JS04AR)
Samsung R528 DT02EE
Samsung R530 JT02
Samsung NP-X120-JA02SE
Tạo máy ảo OS X trên Vmware
Để thực hiện các bước tạo bộ cài đặt Mountain Lion/Mavericks, cách tốt nhất là dùng 1 máy Mac. Nếu bạn không có máy Mac nào, có thể tạo máy ảo OS X trên Windows. Video hướng dẫn và link download có thể tìm trong đây:
Nguồn: Youtube
Cài Mavericks với Chameleon bootloader (với máy Legacy BIOS)
Có sử dụng hình ảnh từ hướng dẫn của realmarid_cf
Bạn cần file cài đặt của Mavericks, có thể download trực tiếp miễn phí từ AppStore. Lưu ý là với Haswell CPU bạn cần có bộ cài đặt 10.9 trở lên. Hướng dẫn thực hiện trên OS X, nếu bạn không có Mac thật thì có thể tạo máy ảo Vmware.
Tạo bộ cài đặt Mavericks
Bước 1: Bạn cần một USB 8GB trở lên, format bằng Disk Utility với tuỳ chọn sau:
- Partition Layout: 1 hoặc 2 Partition
- Format: Mac OS Extended (Journaled) cho phân vùng chứa bộ cài
- Options...: Master Boot Record
Ấn Apply
Bước 2: Click phải vào "Install OS X Mavericks.app" > Show Package Contents > Contents > Shared Support, nhấp đúp InstallESD.dmg để mount file ảnh đĩa thành "OS X Install ESD".
Bước 3: Mount file BaseSystem.dmg ẩn bằng lệnh sau (gõ trong terminal):
Code:
open /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg
File BaseSystem.dmg sẽ đuợc mount thành ổ OS X Base System
Bước 4: Mở thẻ Restore trong Disk Utility, ở Source: Kéo và thả "OS X Base System" đã mount ở bước trên vào, ở Destination: Kéo phân vùng USB đã tạo vào, ấn Restore:
Bước 5: Sau khi restore xong, vào ổ USB "OS X Base System", vào tiếp System/Installation, xoá alias Packages, vào ổ "OS X Install ESD" copy folder Packages và paste vào System/Installation trên ổ USB.
Bước 6: Tải Pacifist mới nhất tại đây: http://www.charlessoft.com/
Sau đó mở lên để đó, tìm vào thư mục /System/Installation/Packages trên USB, chuột phải file BaseSystemBinaries.pkg và Open With > Pacifist. Sau khi Pacifist load xong file, chúng ta tìm đến file mach_kernel và kéo file đó ra thư mục gốc của USB ( không đặt trong bất cứ thư mục nào khác )
Bước 7: Tải Chameleon mới nhất tại đây: http://www.insanelymac.com/forum/files/download/59-chameleon-22-svn/, chạy file cài đặt để cài vào ổ USB:
Bước 8: Tải file Extra.zip, giải nén và chép thư mục Extra vào ổ USB. Chạy chương trình Chameleon Wizard (có thể tìm trong Hackintosh Vietnam Tool), vào tab SMBios, sau đó nhấn Edit, sẽ có giao diện:
Tại ô "Select", các bạn click vào nó sẽ xổ xuống 1 danh sách các tên máy và cấu hình. Sau khi đã chọn được 1 SMBios phù hợp với cấu hình máy của các bạn, tiến hành Save as vào USB theo đường dẫn /Extra/
Lưu ý với Core i thế hệ thứ nhất: iMac 11,x cho desktop và MacbookPro 6,x cho laptop
Bước 9: Đối với Haswell CPU, các bạn phải dùng file mach_kernel đã được patch lỗi MSR02, giải nén và chép đè vào USB.
Đối với AMD CPU, các bản phải dùng mach_kernel được viết riêng cho AMD, chép đè vào USB.
Bước 10: Mặc định OS X chỉ cho cài trên ổ đĩa phân vùng GPT, nếu bạn muốn cài trên ổ đĩa MBR thì phải tải thêm MBR patch và giải nén, copy OSInstall.mpkg và paste đè vào đường dẫn sau trong USB:
Code:
/System/installation/Packages
Copy OSInstall copy và paste đè vào đường dẫn sau trong USB:
Code:
/System/Library/PrivateFrameworks/Install.framework/Frameworks/OSInstall.framework/Versions/A/
Cài đặt Mavericks
Bước 1: Boot từ ổ USB được tạo ở trên vào màn hình Chameleon, chọn ổ USB OS X Base System, gõ bootflag phù hợp, phần này sẽ được hướng dẫn ở dưới, các bạn scroll xuống để đọc thêm.
Bước 2: Nếu gõ bootflag đúng thì sẽ vào màn hình cài đặt. Ấn spacebar nếu có hiện thông báo về bàn phím/chuột bluetooth. Vào menu Utility, chọn Disk Utility như hình:
Bước 3: Tiện ích quản lý ổ đĩa xuất hiện, click vào phân vùng muốn cài OS X, click sang tab Erase, ở dòng Format: Chọn Mac OS Extended (Journaled), ở dòng Name: Các bạn đặt theo ý thích, ví dụ: Hackintosh, Macintosh... Cuối cùng nhấn Erase, một thông báo hỏi bạn có chắc muốn erase không, thì nhấn Erase:
Bước 4: Sau khi định dạng xong phân vùng để cài đặt, tắt tiện ích Disk Utility đi, nhấn continue-->Agree, màn hình Install OS xuất hiện, ta chọn phân vùng "Hackintosh" đã tạo rồi nhấn install:
Bước 5: Đối với máy Haswell hoặc AMD thì bạn cần chép mach_kernel từ USB vào ổ đĩa đã được cài. Sau khi cài, boot lại vào bộ cài, vào Utilities > Terminal và gõ lệnh sau (Hackintosh là tên ổ cài mac):
Code:
cp /mach_kernel "/Volumes/Hacintosh/mach_kernel"
Sau khi cài xong, các bạn có thể boot từ USB và chọn phân vùng vừa mới cài, gõ đúng bootflag khi cài để vào OS X.
Tác giả: pokenguyen (dịch từ insanelymac và bổ sung)
Tham số khi khởi động cho Chameleon
Khi bạn khởi động từ USB cài đặt hoặc ngay sau khi cài Mac, sẽ bị lỗi do không có kext hoặc cấu hình đồ họa chưa được thiết lập. Các bạn cần gõ bootflag ở màn hình Chameleon để vượt qua lỗi này:
2 flag cơ bản đầu tiên là "-f -v". Tùy vào đồ họa đang dùng mà bạn cần thêm một số bootflag, sau đây là một số flag phổ biến của Chameleon ( Chú ý: Phải sử dụng Chameleon r2266 trở lên ):
-f: Bỏ qua kernelcache và buộc OS X load thêm kext trong /Extra/Extensions/. Nếu cài kext rồi thì bỏ lệnh này.
-v: Hiện các thông tin khi boot, hữu ích để kiểm tra xem bị đứng chỗ nào.
-x: Boot vào safe mode, ko load kext đồ hoạ, có thể vượt qua lỗi về đồ hoạ trên một số máy.
dart=0: Tránh lỗi xung đột nếu VT-d được bật trong BIOS, gây các lỗi Smckeyread khi khởi động. Đa số laptop của Dell cần lệnh này.
cpus=1: Tránh lỗi Kernel lapic tự restart khi khởi động máy.
GraphicsEnabler=Yes: Chameleon tự detect card và inject thông tin phù hợp cho OS X, để load kext tương ứng.
GraphicsEnabler=No: Inject thông tin gốc của card cho OS X, dùng nếu GE=Yes không hoạt động.
InjectIntel-ig=x: x là id của card đồ hoạ Intel, dùng để inject ig-platform-id cho HD4400, 4400, 4600, Iris.
IntelCapriFB=x: x từ 0 đến 11, inject thông tin ig-platform-id có sẵn cho HD4000.
IntelAzulFB=x: x từ 0 đến 15, inject thông tin ig-platform-id có sẵn cho HD4400, 4600, Iris.
EnableDualLink=x: x là Yes hoặc No, dùng để inject thông tin DualLink cho card Intel HD onboard, No nếu màn hình 1366x768, Yes nếu 1600x900 trở lên.
PCIRootUID=x: x là 0 hoặc 1. Một số máy có set UID mặc định trong DSDT "Name (UID, <value>)", và có thể gây lỗi màn hình đen khi khởi động (nhất là các máy có card rời). Thay đổi giá trị này có thể khắc phục.
Lưu ý: -f được dùng khi bạn boot vào bộ cài, hay khi boot lần đầu vào OS X, khi chưa có kext. Nếu bạn đã cài, patch đầy đủ kext thì không nên dùng -f.
Intel HD Graphics
Intel HD3000
Độ phân giải 1366x768:
Code:
-f -v GraphicsEnabler=Yes EnableDualLink=No -f -v GraphicsEnabler=No EnableDualLink=No
Độ phân giải 1600x900 trở lên:
Code:
-f -v GraphicsEnabler=Yes EnableDualLink=Yes -f -v GraphicsEnabler=No EnableDualLink=Yes
Intel HD4000
Desktop độ phân giải 1366x768:
Code:
-f -v GraphicsEnabler=Yes IntelCapriFB=10 EnableDualLink=No
Desktop độ phân giải 1600x900 trở lên:
Code:
-f -v GraphicsEnabler=Yes IntelCapriFB=10 EnableDualLink=Yes
Laptop độ phân giải 1366x768:
Code:
-f -v GraphicsEnabler=Yes IntelCapriFB=3
Laptop độ phân giải 1600x900 trở lên:
Code:
-f -v GraphicsEnabler=Yes IntelCapriFB=4
Intel HD4400/4600
Desktop độ phân giải 1366x768:
Code:
-f -v GraphicsEnabler=Yes IntelAzulFB=10 EnableDualLink=No
Desktop độ phân giải 1600x900 trở lên:
Code:
-f -v GraphicsEnabler=Yes IntelAzulFB=10 EnableDualLink=Yes
Laptop độ phân giải 1366x768:
Code:
-f -v GraphicsEnabler=Yes IntelAzulFB=12 EnableDualLink=No
Laptop độ phân giải 1600x900 trở lên:
Code:
-f -v GraphicsEnabler=Yes IntelAzulFB=12 EnableDualLink=Yes
Intel Iris
Desktop độ phân giải 1366x768:
Code:
-f -v GraphicsEnabler=Yes InjectIntel-ig=31090800 EnableDualLink=No
Desktop độ phân giải 1600x900 trở lên:
Code:
-f -v GraphicsEnabler=Yes InjectIntel-ig=31090800 EnableDualLink=Yes
nVidia - ATI
Code:
-f -v GraphicsEnabler=Yes -f -v GraphicsEnabler=No -f -v GraphicsEnabler=Yes PCIRootUID=0 -f -v GraphicsEnabler=No PCIRootUID=0 -f -v GraphicsEnabler=Yes PCIRootUID=1 -f -v GraphicsEnabler=No PCIRootUID=1
Enable QE/CI cho Intel HD Graphics đời đầu
Yêu cầu:
- 1 USB Ubuntu Live
- OS X sử dụng là 10.9 trở lên ( recommended: 10.9.1 )
- GPU sử dụng trong máy là Intel HD Graphics đời đầu
Tiến hành:
Bước 1: Dump thông tin của màn hình:
Boot vào Ubuntu, khởi động terminal, tiến hành gõ lệnh sudo intel_reg_dumper :
Sau khi có được thông tin như dưới ( ảnh mang tính minh hoạ, mỗi máy một khác ), save lại toàn bộ đoạn text bằng gEdit , save thành 1 file text để sử dụng cho Mac
Thoát Ubuntu, boot lại vào Mac với lệnh -v -f -x
Bước 2: Bắt đầu patch kext
Download Intel HD Graphics Patcher của Giofrida bên insanelymac: http://www.insanelymac.com/forum/files/file/101-intel-hd-graphics-patcher/
Chạy app lên có giao diện như sau:
Chọn Linux Dump Analyser, hiện giao diện như dưới:
Paste toàn bộ đoạn text có được vừa rồi vào trong khung và ấn Analyse, khi đó sẽ hiện chữ "Parameters set! Now go to Manual Patch"
Bấm Manual Patch, kéo file AppleIntelHDGraphicsFB.kext vào khung checkbox có chữ nhạt và ấn Check:
Sau khi đã check xong, ở mục "OS X Version" chọn 10.9.x, ấn Patch. Nhập Password vào và chờ 1 lúc, 1 folder mang tên "Patched Framebuffer" sẽ xuất hiện trên Desktop và chứa kext AppleIntelHDGraphicsFB.kext đã được patch.
Cài kext này bằng Kext Ultility hoặc Kext Wizard, rebuild cache, fix permission và reboot để test
Tác giả: El Nos (dịch từ insanelymac)
Cài Mavericks với Clover UEFI bootloader (với máy UEFI)
Bạn cần file cài đặt của Mavericks, có thể download trực tiếp miễn phí từ AppStore. Lưu ý là với Haswell CPU bạn cần có bộ cài đặt 10.9 trở lên. Hướng dẫn thực hiện trên OS X, nếu bạn không có Mac thật thì có thể tạo máy ảo Vmware.
Bước 1: Bạn cần một USB 8GB trở lên, format bằng Disk Utility với tuỳ chọn sau:
- Partition Layout: 2 Partition
- Partition 1: đặt tên CLOVER, Format MS-DOS (FAT), dung lượng > 300MB
- Partition 2: đặt tên Untitled, Format : Mac OS Extended (Journaled), dung lượng > 6GB
- Options...: Master Boot Record
Bước 2: Download file Clover.zip, giải nén và copy thư mục EFI vào ổ CLOVER. Dùng Hackintosh Vietnam Tool để tạo file config.plist phù hợp với máy của bạn, lưu ý chọn Generate trong phần SSDT, chép file config.plist vào EFI/Clover/ trên ổ CLOVER.
Từ bước này bạn có 2 cách để tạo phân vùng Install Mavericks
CÁCH 1 (có tạo phân vùng Recovery sau khi cài đặt)
Bước 3: Download OS X Mavericks từ AppStore, kiểm tra xem trong thư mục Applications có file "Install OS X Mavericks.app". Mở terminal và chạy lệnh sau (Untitled là ổ đĩa HFS+):
Code:
sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction
Bước 4: Khởi động lại vào BIOS, bật chế độ UEFI và dùng một trong các cách khau để boot từ USB (tuỳ vào máy):
- Vào Boot selection và chọn UEFI:USBFlashdrive
- Vào BIOS và thêm /EFI/Clover/CloverX64.efi vào menu boot.
- Ấn F9, chọn Boot from EFI file > Chọn phân vùng CLOVER > EFI > Clover > CloverX64.efi
Bước 5: Chọn "Boot OS X Install from Install OS X Mavericks", nếu file config.plist đúng thì sẽ vào màn hình cài đặt. Ấn spacebar nếu có hiện thông báo về bàn phím/chuột bluetooth. Vào menu Utility, chọn Disk Utility như hình:
Bước 6: Tiện ích quản lý ổ đĩa xuất hiện, click vào phân vùng muốn cài OS X, click sang tab Erase, ở dòng Format: Chọn Mac OS Extended (Journaled), ở dòng Name: Các bạn đặt theo ý thích, ví dụ: Hackintosh, Macintosh... Cuối cùng nhấn Erase, một thông báo hỏi bạn có chắc muốn erase không, thì nhấn Erase:
Bước 7: Sau khi định dạng xong phân vùng để cài đặt, tắt tiện ích Disk Utility đi, nhấn continue-->Agree, màn hình Install OS xuất hiện, ta chọn phân vùng "Hackintosh" đã tạo rồi nhấn install:
Bước 8: Quá trình cài đặt này sẽ dừng rất lâu ở phần "1 second remaining", và tự động restart sau khi hoàn tất. Đây là Giai đoạn 1.
Bước 9: Khởi động vào USB Clover và chọn "Boot OS X Install from Install OS X Mavericks" để tiếp tục giai đoạn 2 của quá trình cài đặt. Sau khi restart, boot lại vào USB Clover và chọn phân vùng Mavericks vừa cài đặt xong.
CÁCH 2 (không tạo phân vùng Recovery sau khi cài đặt)
Bước 3: Nếu không có file "Install OS X Mavericks.app" mà chỉ có file InstallESD.dmg thì bạn làm từ bước 2 đến bước 6 trong hướng dẫn cho Chameleon.
Bước 4: Khởi động lại vào BIOS, bật chế độ UEFI và dùng một trong các cách khau để boot từ USB (tuỳ vào máy):
- Vào Boot selection và chọn UEFI:USBFlashdrive
- Vào BIOS và thêm /EFI/Clover/CloverX64.efi vào menu boot.
- Ấn F9, chọn Boot from EFI file > Chọn phân vùng CLOVER > EFI > Clover > CloverX64.efi
Bước 5: Chọn "Boot OS X Install from OS X Base System", nếu file config.plist đúng thì sẽ vào màn hình cài đặt. Ấn spacebar nếu có hiện thông báo về bàn phím/chuột bluetooth. Vào menu Utility, chọn Disk Utility như hình:
Bước 6: Tiện ích quản lý ổ đĩa xuất hiện, click vào phân vùng muốn cài OS X, click sang tab Erase, ở dòng Format: Chọn Mac OS Extended (Journaled), ở dòng Name: Các bạn đặt theo ý thích, ví dụ: Hackintosh, Macintosh... Cuối cùng nhấn Erase, một thông báo hỏi bạn có chắc muốn erase không, thì nhấn Erase:
Bước 7: Sau khi định dạng xong phân vùng để cài đặt, tắt tiện ích Disk Utility đi, nhấn continue-->Agree, màn hình Install OS xuất hiện, ta chọn phân vùng "Hackintosh" đã tạo rồi nhấn install:
Bước 8: Quá trình cài đặt bắt đầu diễn ra và tự động restart khi kết thúc. Boot lại vào USB Clover và chọn phân vùng Mavericks vừa cài đặt xong.
Cài Chameleon bootloader, thiết lập Speedstep và cài đặt kext ( với máy Legacy BIOS )
Cài Chameleon Bootloader
Cách 1
Mở Hackintosh Vietnam Tool và chọn các mục sau trong phần Chameleon:
- Install Chameleon: cài đặt Chameleon bootloader trên ổ Mac hiện tại.
- Config: chọn file cấu hình phù hợp với đồ hoạ của bạn.
- SMBIOS: chọn file smbios phù hợp với CPU của bạn, dựa vào phần mô tả ở ô dưới.
Cách 2
Bước 1: Tải phiên bản mới nhất của Chameleon, chạy file cài đặt, khi đến màn hình chuẩn bị cài đặt thì chọn Customize và chọn những mục sau:
- Standard: Cài Chameleon bootloader
- FileNVRAM: Lưu thông tin trong nvram vào đĩa cứng, enable iMessage/Facetime
- Kernel Patcher: Chỉ chọn khi bạn bị lỗi Kernel Lapic khi khởi động.
Bước 2: Chạy Chameleon Wizard (có trong Hackintosh Vietnam Tool) vào thẻ org.chameleon.Boot và chọn những mục cần thiết cho máy bạn. Save As vào thư mục /Extra/ trên đĩa Mac.
Bước 3: Vào thẻ SMBios trong Chameleon Wizard, chọn Edit, sau đó chọn SMBios phù hợp trong ô Premade SMBioses. Save As vào thư mục /Extra/ trên đĩa Mac.
Lưu ý với Core i thế hệ thứ nhất: iMac 11,x cho desktop và MacbookPro 6,x cho laptop
Thiết lập Speedstep cho CPU
Để tránh những lỗi thường gặp do cài kext, tốt nhất bạn nên cấu hình hệ thống để CPU có thể chạy tốt nhất ngay sau khi cài đặt và cài Chameleon bootloader. Bạn cần có:
- Sử dụng kext gốc của Apple: AppleIntelCPUPowerManagement, AppleACPIPlatform trong S/L/E. Với haswell cần thêm mach_kernel gốc trong ổ đĩa Mac.
- Đã xóa tất cả các kext disable CPU Power Management trong S/L/E như: NullCPUPowerManagement, Disabler
Nếu các bạn cài đặt như hướng dẫn trong bài này thì đã đủ 2 yêu cầu trên. Tuỳ vào loại CPU mà bạn cần có cách thiết lập khác nhau. Các bạn dùng Chameleon Wizard để mở các file plist trong thư mục Extra và đánh dấu tương ứng (đánh dấu là True, không đánh dấu là False):
Core 2 Duo/Core i thế hệ thứ nhất
org.chameleon.boot.plist:
- DropSSDT=False
- GeneratePStates=True
- GenerateCStates=True
smbios.plist: Chọn smbios của các dòng máy chạy Core 2 Duo/Core i tương ứng. Với Core i thế hệ thứ nhất: iMac 11,x cho desktop và MacbookPro 6,x cho laptop
Chạy Hackintosh Vietnam Tool và chọn mục sau:
- Kexts > CPU Power Managmenet > AppleIntelCPUPowerManagment: patch kext AICPM để vô hiệu hoá việc ghi vào thanh ghi MSR02, nếu bạn đã patch BIOS unlock MSR0xE2 thì không cần chọn.
* Một số máy cần phải patch dsdt HPET để có được speedstep
SandyBridge/IvyBridge dòng Pentium
org.chameleon.boot.plist:
- DropSSDT=True
- GeneratePStates=True
- GenerateCStates=True
Chạy Hackintosh Vietnam Tool và chọn các mục sau:
- Chameleon > Smbios: Chọn smbios của các dòng máy chạy SandyBridge/IvyBridge tương ứng.
- Kexts > CPU Power Managmenet > AppleIntelCPUPowerManagment: patch kext AICPM để vô hiệu hoá việc ghi vào thanh ghi MSR02, nếu bạn đã patch BIOS unlock MSR0xE2 thì không cần chọn.
SandyBridge/IvyBridge dòng Core i3/i5/i7
org.chameleon.boot.plist:
- DropSSDT=True
- GeneratePStates=False
- GenerateCStates=False
Chạy Hackintosh Vietnam Tool và chọn các mục sau:
- Chameleon > Smbios: Chọn smbios của các dòng máy chạy SandyBridge/IvyBridge tương ứng.
- Kexts > CPU Power Managmenet > AppleIntelCPUPowerManagment: patch kext AICPM để vô hiệu hoá việc ghi vào thanh ghi MSR02, nếu bạn đã patch BIOS unlock MSR0xE2 thì không cần chọn.
- Tools > SSDT Generator: Tạo file /Extra/ssdt.aml chứa các step dành cho CPU.
Haswell dòng Pentium
org.chameleon.boot.plist:
- DropSSDT=True
- GeneratePStates=True
- GeneratePStates=True
Chạy Hackintosh Vietnam Tool và chọn các mục sau:
- Chameleon > Smbios: Chọn smbios của các dòng máy chạy Haswell tương ứng.
- Kexts > CPU Power Managmenet > Kernel: patch mach_kernel để vô hiệu hoá việc ghi vào thanh ghi MSR02, nếu bạn đã patch BIOS unlock MSR0xE2 thì không cần chọn.
Haswell dòng Core i3/i5/i7
org.chameleon.boot.plist:
- DropSSDT=True
- GeneratePStates=False
- GeneratePStates=False
Chạy Hackintosh Vietnam Tool và chọn các mục sau:
- Chameleon > Smbios: Chọn smbios của các dòng máy chạy Haswell tương ứng.
- Kexts > CPU Power Managmenet > Kernel: patch mach_kernel để vô hiệu hoá việc ghi vào thanh ghi MSR02, nếu bạn đã patch BIOS unlock MSR0xE2 thì không cần chọn.
- Tools > SSDT Generator: Tạo file /Extra/ssdt.aml chứa các step dành cho CPU.
SandyBridge-E/IvyBridge-E (socket 2011) + x79 Mainboard
Sử dụng gói dành riêng cho Sandy-E/Ivy-E + x79 Mainboard tạo bởi Rampage Dev.
Cách kiểm tra Speedstep
Sử dụng DPCIManager trong Hackintosh Vietnam Tool, chọn P States, bấm OK và chờ một lúc. Nếu dòng P States hiển thị hơn 3 số thì speedstep bạn đã chạy tốt.
Nếu không được, bạn kiểm tra lại NullCPUPowerManagement còn sót lại trong máy không bằng cách gõ lệnh sau trong terminal:
Code:
kextstat | grep -y nullcpu
Nếu có hiện thông tin thì NullCPUPowerManagement, bạn tìm và xoá đến khi không hiện thông tin.
Cài Kext
Để các thiết bị trên máy tính chạy tốt, bạn cần phải cài kext (driver) tương ứng. Hiện tại Hackintosh Vietnam Tool có khá đầy đủ các kext cho nhiều thiết bị. Bạn chỉ cần cài chương trình và chọn driver phù hợp với máy trong mục Kexts:
System
- FakeSMC: Giả lập các key SMC trên Mac, đọc các thông tin từ các bộ cảm ứng trên máy. Quan trọng nhất trong hệ thống Hackintosh
- AppleRTC: Tránh việc tự động reset CMOS khi khởi động lại
CPUPowerManagement:
- Kernel: Ngăn Kernel panic do việc ghi vào thanh ghi MSR02 trên hệ thống Haswell
- AppleIntelCPUPowerManagement: Ngăn Kernel panic do việc ghi vào thanh ghi MSR02 trên hệ thống SandyBridge/IvyBridge
- NullCPUPowerManagement: Tắt quản lý điện năng CPU, bỏ speedstep
- DisableTurboBoostBattery: Chỉ sử dụng cho laptop, giảm xung khi không cắm nguồn nhằm tiết kiệm pin.
Battery
- ACPIBatteryManager: hiển thị thông số pin, dùng kèm với patch dsdt để hiện thông số đúng. Một số máy yêu cầu phải patch dsdt cho pin trước.
Network:
- Wifi Injector: Inject thông tin của các card wifi và bluetooth được support vào kext gốc của OS X
- Atheros 9287: Kext dành cho Atheros 9287 lấy từ bản 10.8.5, sửa lỗi không hiện mạng wifi.
- Atheros Bluetooth: Dành cho Atheros bluetooth
- Wifi Tenda W311M: Kext dành cho usb wifi Tenda W311M
- Null Ethernet: Giả lập card Ethernet trên một số dòng laptop không có cổng Ethernet, dùng đăng nhập các dịch vụ iCloud.
- Realtek/Broadcom/Intel/Atheros Ethernet: chọn driver nếu bạn có Ethernet của các hãng này.
Graphics
- ACPIBacklight: Dùng để Enable chỉnh độ sáng và hiệu ứng sáng tối mượt mà. Yêu cầu kỹ năng phải patch dsdt cho độ sáng
- AppleIntelSNBGraphicsFB: Kích hoạt cổng VGA của card HD3000, tuy nhiên có thể disable các cổng DP hay HDMI khác
- AppleIntelFramebufferCapri: Kích hoạt 2 cổng HDMI và DP của card HD4000
Sound
- VoodooHDA: Driver âm thanh cho nhiều máy, tuy nhiên có thể gây trục trặc hoặc âm thanh không hay
- AppleHDA: Patch AppleHDA theo các codec đã có sẵn, yêu cầu bạn có file AppleHDA.kext gốc trong S/L/E và đã inject thông tin audio trong dsdt.
Trackpad and Keyboard: Các driver cho touchpad, bàn phím.
USB 3.0: Driver cho cổng USB 3.0
Nếu thiết bị của bạn không có trong danh sách, có thể tìm trên mạng dưới dạng file .kext và dùng Kext Wizard (trong mục Tools của Hackintosh Vietnam Tool) để cài đặt. Lưu ý là không thể cài kext chỉ bằng việc copy file vào S/L/E.
Dualboot Windows và OS X khi sử dụng Chameleon
Cài thêm Windows sau khi cài OS X
Sau khi đã cài Mavericks với Chameleon và thiết lập hệ thống, bạn có thể cài thêm Windows Legacy bằng cách sau:
Bước 1: Vào Disk Utility, tạo 1 phân vùng cho Windows dưới dạng MS-DOS (FAT)
Bước 2: Boot vào bộ cài Windows, khi đến màn hình Install now thì chọn Repair your computer
Bước 3: Chọn Command Prompt và gõ các lệnh sau:
Code:
diskpart select disk 0 list partition (hiển thị danh sách partition trên máy, để ý số của partition cho Windows) select partition x (x là partition cho Windows) format fs=ntfs label="Windows" quick active
Bước 4: Khởi động lại vào bộ cài Windows, chọn Install Now và cài Windows bình thường.
Bước 5: Khi đã cài xong Windows, mở command prompt với quyền Administrator và gõ lệnh:
Code:
diskpart select disk 0 list partition (hiển thị danh sách partition trên máy, để ý số của partition cho OS X) select partition x (x là partition cho OS X) active
Bước 6: Khởi động lại sẽ hiện màn hình Chameleon, ấn phím trái phải để chọn phân vùng khởi động.
Cài thêm OS X trên máy có sẵn Windows
Bước 1: Tạo phân vùng trống cho Mac.
Bước 2: Mở command prompt với quyền Administrator và gõ lệnh:
Code:
diskpart select disk 0 list partition (hiển thị danh sách partition trên máy, để ý số của partition cho OS X) select partition x (x là partition cho OS X) active
Bước 3: Cài Mavericks bằng các bài hướng dẫn ở trên.
Dualboot Windows và OS X khi sử dụng Clover UEFI
Sau khi cài Windows UEFI và Mavericks với Clover UEFI bootloader, khi khởi động sẽ có tuỳ chọn boot vào Windows hoặc Mavericks. Lưu ý trên một số máy, Windows UEFI sẽ chiếm quyền khởi động mặc định của Clover, để khắc phục:
- Khởi động Mavericks, dùng Clover Configurator để Mount ổ EFI (Extra > Mount EFI).
- Xoá file /EFI/Boot/Bootx64.efi.
- Đổi tên /EFI/Microsoft/Boot/bootmgfw.efi thành bootmgfw-orig.efi
- Copy file /EFI/Clover/Cloverx64.efi vào /EFI/Boot/, đổi tên thành Bootx64.efi
- Copy file /EFI/Clover/Cloverx64.efi vào /EFI/Microsoft/Boot/, đổi tên thành bootmgfw.efi
Lỗi boot0:error khi khởi động đối với Chameleon
Đây là lỗi hay gặp nhất sau khi cài xong các Legacy bootloader như Chameleon, trên đĩa cứng dùng Advanced format 4. Để khắc phục:
Có kết nối Internet
- Khởi động vào OS X và mở Chameleon Wizard ( có trong mục Tools của Hackintosh Vietnam Tool).
- Chuyển qua thẻ Install > Download.
- Chọn Update và Update more bootloader files.
- Chọn ổ đĩa chứa Mac trong Target partition
- Chọn Install
Không có kết nối Internet
- Download boot1h.zip, giải nén và copy boot1h vào USB bộ cài OS X
- Boot vào bộ cài và mở Disk Ultility (Utilities > Disk Utility) lên và Unmount ổ Mac đã cài (quan trọng).
- Tắt Disk Utility, mở Ternimal (Utilities > Terminal), gõ
- Trong cửa sổ sẽ hiện thông tin các phân vùng trên HDD đang có.Xem IDENTIFIER của phân vùng cài MAC OS mình là gì: disk0s1, disk0s2.......ghi nhớ cái này.
- Gõ các lệnh sau (bạn thay identifer bằng identifer phân vùng của bạn disk0s1,disk0s2....gì đó lúc nãy đã ghi lại)
Code:
cd / dd if=boot1h of=/dev/identifer
Ví dụ:
Code:
dd if=boot1h of=/dev/disk0s2
- Reboot.
Cài Clover UEFI bootloader, thiết lập Speedstep và cài đặt kext ( với máy UEFI )
Cài Clover UEFI Bootloader và thiết lập Speedstep
Bước 1: Tải phiên bản mới nhất của Clover, chạy file cài đặt, khi đến màn hình chuẩn bị cài đặt thì chọn Customize và chọn những mục sau:
- Install for UEFI Booting: Cài Clover UEFI vào ổ EFI disk0s1
- Themes: Chọn theme cho Clover.
- Drivers64UEFI > EmuVariableUEFI-64.efi: Giả lập NVRAM cho OS X
- Drivers64UEFI > OsxAptioFixDrv-64.efi: Fix lỗi bộ nhớ cho hầu hết hệ thống UEFI, có thể không cần thiết (bạn có thể test không chọn mục này)
- Install RC Scripts on target volume: Cài RC script vào OS X, dùng để chạy các lệnh trong nvram khi khởi động, và lưu nvram vào đĩa khi tắt máy.
- Install Clover Preference Pane: Cài Clover Preference Pane, dùng để chỉnh các thông số nvram cho Clover, kèm theo chương trình cập nhật Clover.
Chọn Continue, cài đặt và qua bước 2.
Lưu ý: Một số hệ thống có ổ EFI không nằm trong disk0s1, bạn thực hiện các bước sau:
Mount ổ EFI bằng lệnh
Code:
diskutil list (hiện danh sách các phân vùng, ghi nhớ Identifier của EFI) mkdir /Volumes/EFI sudo mount -t msdos /dev/disk0sX /Volumes/EFI (disk0sX là Identifier của EFI)
Phân vùng EFI được mount trong Finder, tải phiên bản mới nhất của Clover, chạy file cài đặt, khi đến màn hình chuẩn bị cài đặt thì chọn Customize và chọn những mục sau:
- Bootloader > Don't update MBR and PBR sectors: Chép Clover UEFI vào ổ Mac.
- Themes: Chọn theme cho Clover.
- Drivers64UEFI > EmuVariableUEFI-64.efi: Giả lập NVRAM cho OS X
- Drivers64UEFI > OsxAptioFixDrv-64.efi: Fix lỗi bộ nhớ cho hầu hết hệ thống UEFI, có thể không cần thiết (bạn có thể test không chọn mục này)
- Install RC Scripts on target volume: Cài RC script vào OS X, dùng để chạy các lệnh trong nvram khi khởi động, và lưu nvram vào đĩa khi tắt máy.
- Install Clover Preference Pane: Cài Clover Preference Pane, dùng để chỉnh các thông số nvram cho Clover, kèm theo chương trình cập nhật Clover.
Chọn Continue và tiếp tục cài đặt. Sau khi cài, thư mục EFI sẽ được tạo trong ổ Mac, bạn cần tạo thư mục BOOT trong thư mục EFI, copy file CLOVERX64.efi trong thư mục Clover vào BOOT, đổi tên thành BOOTX64.efi. Cuối cùng copy thư mục EFI từ ổ Mac qua ổ EFI.
Bước 2: Tải HFSPlus.efi.zip, giải nén và chép vào thư mục /EFI/CLOVER/drivers64UEFI/ trên ổ EFI, xóa file VboxHFS-64.efi
Bước 3: Dùng Hackintosh Vietnam Tool và chọn:
Với dòng Core i3/i5/i7:
- Clover Confìg: Tạo file config.plist phù hợp với máy của bạn. Lưu ý chọn Custom trong phần SSDT. File config.plist sẽ được tạo trên desktop.
- Tools > SSDT Generator: Tạo file ssdt.aml cho CPU trong thư mục /Extra trên ổ Mac.
Sau khi chạy tool, chép file config.plist vào thư mục /EFI/Clover/ và file ssdt.aml vào /EFI/Clover/ACPI/patched/ trên ổ EFI.
Với dòng Pentium:
- Clover Confìg: Tạo file config.plist phù hợp với máy của bạn. Lưu ý chọn Generate trong phần SSDT. File config.plist sẽ được tạo trên desktop.
Sau khi chạy tool, chép file config.plist vào thư mục /EFI/Clover/ trên ổ EFI.
Với dòng Sandy-E/Ivy-E + x79 mainboard
Sử dụng gói dành riêng cho Sandy-E/Ivy-E + x79 Mainboard tạo bởi Rampage Dev.
Bước 4: Khởi động lại vào BIOS, tìm mục Add boot option để thêm /EFI/Clover/Cloverx64.efi vào menu UEFI boot. Riêng một số máy như HP không cần add, máy sẽ tự chạy file /EFI/Boot/Bootx64.efi trong phân vùng EFI.
Cách kiểm tra Speedstep
Sử dụng DPCIManager trong Hackintosh Vietnam Tool, chọn P States, bấm OK và chờ một lúc. Nếu dòng P States hiển thị hơn 3 số thì speedstep bạn đã chạy tốt.
Cài Kext
Để các thiết bị trên máy tính chạy tốt, bạn cần phải cài kext (driver) tương ứng. Hiện tại Hackintosh Vietnam Tool có khá đầy đủ các kext cho nhiều thiết bị. Bạn chỉ cần cài chương trình và chọn driver phù hợp với máy trong mục Kexts. Các mục gạch ngang không cần thiết đối với Hackintosh trên Clover UEFI:
System
- FakeSMC: Giả lập các key SMC trên Mac, đọc các thông tin từ các bộ cảm ứng trên máy. Quan trọng nhất trong hệ thống Hackintosh
- AppleRTC: Tránh việc tự động reset CMOS khi khởi động lại
CPUPowerManagement:
- Kernel: Ngăn Kernel panic do việc ghi vào thanh ghi MSR02 trên hệ thống Haswell
- AppleIntelCPUPowerManagement: Ngăn Kernel panic do việc ghi vào thanh ghi MSR02 trên hệ thống SandyBridge/IvyBridge
- NullCPUPowerManagement: Tắt quản lý điện năng CPU, bỏ speedstep
- DisableTurboBoostBattery: Chỉ sử dụng cho laptop, giảm xung khi không cắm nguồn nhằm tiết kiệm pin.
Battery
- ACPIBatteryManager: hiển thị thông số pin, dùng kèm với patch dsdt để hiện thông số đúng. Một số máy yêu cầu phải patch dsdt cho pin trước.
Network:
- Wifi Injector: Inject thông tin của các card wifi và bluetooth được support vào kext gốc của OS X
- Atheros 9287: Kext dành cho Atheros 9287 lấy từ bản 10.8.5, sửa lỗi không hiện mạng wifi.
- Atheros Bluetooth: Dành cho Atheros bluetooth
- Wifi Tenda W311M: Kext dành cho usb wifi Tenda W311M
- Null Ethernet: Giả lập card Ethernet trên một số dòng laptop không có cổng Ethernet, dùng đăng nhập các dịch vụ iCloud.
- Realtek/Broadcom/Intel/Atheros Ethernet: chọn driver nếu bạn có Ethernet của các hãng này.
Graphics
- ACPIBacklight: Dùng để Enable chỉnh độ sáng và hiệu ứng sáng tối mượt mà. Yêu cầu kỹ năng phải patch dsdt cho độ sáng
- AppleIntelSNBGraphicsFB: Kích hoạt cổng VGA của card HD3000, tuy nhiên có thể disable các cổng DP hay HDMI khác
- AppleIntelFramebufferCapri: Kích hoạt 2 cổng HDMI và DP của card HD4000
Sound
- VoodooHDA: Driver âm thanh cho nhiều máy, tuy nhiên có thể gây trục trặc hoặc âm thanh không hay
- AppleHDA: Patch AppleHDA theo các codec đã có sẵn, yêu cầu bạn có file AppleHDA.kext gốc trong S/L/E và đã inject thông tin audio trong dsdt.
Trackpad and Keyboard: Các driver cho touchpad, bàn phím.
USB 3.0: Driver cho cổng USB 3.0
Nếu thiết bị của bạn không có trong danh sách, có thể tìm trên mạng dưới dạng file .kext và dùng Kext Wizard (trong mục Tools của Hackintosh Vietnam Tool) để cài đặt. Lưu ý là không thể cài kext chỉ bằng việc copy file vào S/L/E.
DSDT, SSDT: Những kiến thức cơ bản
DSDT, SSDT là gì?
DSDT, SSDT là các bảng giao thức điều khiển thiết bị, được lưu trong BIOS/UEFI của máy. DSDT, SSDT mô tả các thiết bị có trong máy, và cung cấp các hàm vận hành thiết bị. Các thiết bị, hàm này sẽ được sử dụng bởi driver trong các hệ điều hành như Windows, OS X, Linux để điều khiển thiết bị. Nếu không có các bảng này, hệ điều hành sẽ không thể vận hành được.
Mặc định các bootloader sẽ tự lấy đầy đủ các bảng này từ hệ thống, và truyền vào hệ điều hành khi khởi động.
DSDT và SSDT về cơ bản là hoàn toàn giống nhau về mặt cấu trúc, nhưng DSDT được xem là bản chính, còn SSDT là các bản phụ. DSDT chứa phần lớn các thiết bị trên mainboard như chip âm thanh, đồ họa onboard, cổng USB,... SSDT chứa các thiết bị thường thay đổi như CPU, đồ họa rời, thâm chí đồ họa onboard trên các dòng Haswell.
Tại sao phải patch DSDT, SSDT trên Hackintosh?
Không như Windows hay Linux (hỗ trợ đa nền tảng phần cứng), OS X chỉ hỗ trợ các phần cứng do Apple quy định. Các thiết bị, hàm vận hành trong DSDT trên máy Mac được tối ưu hóa cho hệ điều hành, với những quy định chặt chẽ. Trên hệ thống Hackintosh, một số thiết bị như card đồ họa, âm thanh, pin không hoạt động, vì bảng DSDT trên máy không tuân theo chuẩn của OS X.
Bằng việc trích xuất DSDT, SSDT từ máy tính và chỉnh sửa lại theo chuẩn OS X, bạn có thể giúp Hackintosh hoạt động ổn định và đầy đủ như một máy Mac thật.
Tất cả các bootloader đều cho phép thay bảng DSDT và SSDT trong máy bằng các file dsdt.aml và ssdt.aml do người dùng tạo.
Trích xuất DSDT, SSDT gốc (AML) từ hệ thống
Việc đầu tiên trước khi sửa dsdt, ssdt là bạn phải lấy được file dsdt, ssdt gốc dưới định dạng AML (ACPI Machine Language). Có những cách sau để làm việc này:
Windows:
Chạy chương trình RW-Everything, vào menu Access > ACPI Tables, chọn thẻ DSDT, Save as binary, chọn All file (*.*) trong phần Save as type và thêm đuôi .aml vào tên file.
Lặp lại cho các bảng SSDT khác.
Linux:
Chạy từng lệnh sau:
Code:
cd ~/Desktop sudo apt-get update sudo apt-get install acpidump sudo acpidump > acpidump.out sudo acpixtract -a acpidump.out
Linux sẽ dump tất cả các bảng ACPI trong máy lên Desktop. Bạn chỉ cần để ý các file DSDT và SSDT, đổi đuôi .dat thành .aml và chép vào USB để lưu trữ.
OS X (Clover bootloader):
Ở màn hình Clover, ấn phím F4, sau đó boot vào Mac, tất cả các bảng sẽ được dump vào /EFI/Clover/ACPI/origin/
Biên dịch ngược DSDT, SSDT gốc (AML)
Các bảng DSDT, SSDT gốc trong máy có định dạng nhị phân AML, không thể sửa trực tiếp mà cần phải biên dịch ngược lại thành file text có đuôi dsl. Do các bảng DSDT, SSDT có liên kết chồng chéo lẫn nhau nên bạn cần có tất cả các file DSDT, SSDT để hỗ trợ khi biên dịch ngược.
Tải iasl (trình biên dịch, giải mã AML của Intel) mới nhất, giải nén và chép file iasl vào desktop, chép các file DSDT, SSDT gốc với tên file *.aml ở trên vào desktop.
Chạy terminal với lệnh sau:
Code:
cd ~/Desktop ./iasl -e *.aml -d *.aml
Tất cả các file DSDT, SSDT sẽ được biên dịch ngược thành các file *.dsl.
Thêm DSDT, SSDT (AML) đã chỉnh sửa vào bootloader.
Sau khi đã sửa và biên dịch từ file *.dsl thành *.aml, bạn có thể đưa vào bootloader bằng cách đặt đúng vào các thư mục sau:
Chameleon: /Extra/
Clover: /EFI/CLOVER/ACPI/patched/
Lưu ý: nếu có nhiều file SSDT.aml thì đặt theo tên sau: SSDT.aml, SSDT-1.aml, SSDT-2.aml,...
Bootloader sẽ tự loại bỏ (drop) DSDT gốc của hệ thống và nạp file DSDT.aml khi khởi động. Đối với các file SSDT thì hệ thống sẽ thêm các file SSDT.aml vào sau các bảng SSDT gốc của hệ thống. Nếu bạn muốn bỏ các bảng SSDT gốc này thì chọn DropSSDT=True đối với Chameleon, hoặc Drop OEM SSDT=True đối với Clover.
Sửa lỗi iCloud/iMessage/Facetime trên Hackintosh
Muốn sử dụng iCloud/iMessage/FaceTime cần hội đủ các yêu cầu sau:
NVRAM hoạt động
Với Chameleon: Bạn cần dùng FileNVRAM.dylib trong thư mục /Extra/modules/
Link download: http://public.xzenue.com/downloads/
Lưu ý là có 2 phiên bản 1.1.2 và 1.1.3, bạn có thể thử 1 trong 2.
Với Clover UEFI: Bạn cần có EmuVariableUefi-64.efi trong /EFI/CLOVER/drivers64UEFI/ và đã chọn Install RC Scripts to target partition.
Ethernet-Wifi set về en0
Bạn cần phải có:
- card Ethernet
- card Wifi (yêu cầu Smbios Macbook Air, và không phải USB Wifi)
được nhận dạng trên OS X (đã cài kext) và set về en0. Để kiểm tra bạn có thể dùng DPCIManager (có trong Hackintosh Vietnam Tool)
Mặc định các thiết bị mạng (ethernet, wifi, smartphone Hotspot,...) sẽ được set en0, en1, en2, en3,... theo nguyên tắc card nào nhận dạng trước thì set trước. Để set card Ethernet hoặc Wifi về en0 bạn cần phải reset cấu hình mạng:
- Vào /Library/Preferences/SystemConfiguration/ và xoá các file/thư mục sau:
- CaptiveNetworkSupport
- com.apple.airport.preferences.plist
- com.apple.network.eapolclient.configuration.plist
- NetworkInterfaces.plist
- Vào System Preferences > Network > Chọn các kết nối bên tay trái, chọn nút - để xoá.
- Khởi động lại.
- Vào System Preferences > Network > Chọn nút + và thêm các kết nối mạng vào, lưu ý phải thêm Ethernet trước.
- Dùng DPCI Manager để check lại card Ethernet đã set về en0 chưa.
Thêm card VISA vào tài khoản iCloud
- Bạn cần có một thẻ VISA Việt Nam (đối với tài khoản iCloud Việt Nam) hoặc VISA ở quốc gia trùng với tài khoản iCloud của bạn. VISA không cần có tiền.
- Sử dụng AppStore hoặc iTunes trên Hackintosh, đăng nhập vào tài khoản iCloud và thêm thẻ tín dụng vào. Sau đó đăng nhập iMessage là được. Sau khi kích hoạt thành công, bạn có thể gỡ VISA ra khỏi tài khoản.
Một số tweak cơ bản hữu ích
1) Đồng bộ thời gian giữa OS X ( hay bất cứ OS thuộc hệ Linux/Unix ) với Windows
Sau khi dualboot hoặc multiboot thành công, thời gian của Windows và OS X sẽ không trùng nhau ( mặc dù đã set thời gian cả 2 bên cùng múi giờ ). Cách fix như sau:
Bước 1: Boot vào OS X, set thời gian và múi giờ đúng
Bước 2: Boot vào Windows, không được đồng bộ thời gian bằng Adjust Date/Time. Mở Run, gõ regedit và enter
Bước 3: Tìm tới key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation. Chuột phải khoảng trống ở khung bên phải, chọn New > DWORD (32-bit) Value và đặt tên là RealTimeIsUniversal. Kích đúp vào file này và thay đổi giá trị là 1. Save lại và reboot
Bước 4: Boot vào OS X, sau đó boot vào Windows. Lúc này thời gian ở cả 2 OS đã được đồng bộ
Kiểm tra phần cứng của máy khi cài OS X
Trên OS X
Sử dụng DPCI Manager (có trong Hackintosh Vietnam Tool) để xem thông tin về phần cứng.
Thẻ Status: Codec ID của chip âm thanh trong máy
Thẻ PCI List: Danh sách các thiết bị PCI có trên máy. Bạn có thể xem tên và Vendor/Device ID của card Ethernet/Wifi trong đây:
Trên Windows
Để xem thông tin phần cứng chính xác, trước tiên bạn phải cài đầy đủ driver máy trên Windows. Sau đó vào Device Manager, nhấp đúp vào thiết bị > Details > chọn Hardware Ids để xem Vendor/Device ID. Nếu tên thiết bị không được hiển thị, bạn có thể vào http://www.pcidatabase.com/ để dò. Ví dụ:
Audio: IDT (111D) 7605
Wifi: Atheros (168C) 9280 (002A)
Touchpad: Synaptics (SYN)
DSDT, SSDT: Sửa lỗi với MacIASL
Sau khi đã trích xuất và biên dịch ngược các file DSDT, SSDT gốc (AML) thành file text (DSL), bạn cần dùng MacIASL (download tại đây, hoặc có trong Hackintosh Vietnam Tool) để sửa đổi và biên dịch lại thành file AML.
Những tính năng chính của MacIASL
- Tự động trích xuất và biên dịch ngược các bảng trong hệ thống: File > New from ACPI > chọn bảng.
- Cho phép xem các lỗi hiện có trong dsdt với nút Compile.
- Apply các patch (đoạn mã sửa đổi DSDT) với nút Patch.
- Biên dịch lại file AML bằng cách vào File > Save as... > File format: ACPI Machine Language Binary.
Để thuận tiện cho việc sửa đổi DSDT, các bạn nên thêm kho Rehabman's DSDT patch vào MacIASL bằng cách:
Vào menu MacIASL > Preferences... > Sources > Chọn dấu +, gõ DSDT patches vào ô name, paste link dưới đây vào ô URL:
Code:
http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
Các DSDT patch trong kho sẽ hiện ở cột trái khi bạn chọn nút Patch.
Sửa các lỗi phát sinh sau khi biên dịch ngược
Sau khi bạn mở file .dsl được biên dịch ngược, có thể bạn sẽ gặp nhiều lỗi khi biên dịch (ấn nút Compile) để check. Đây là các lỗi do quá trình biên dịch ngược không hoàn thiện hoặc dùng sai phiên bản biên dịch:
Sử dụng sai phiên bản ACPI khi biên dịch
Một số máy sử dụng chuẩn ACPI 4.0 trong khi một số sử dụng ACPI 5.0. Việc sử dụng phiên bản không đúng (ví dụ DSDT 4.0 nhưng biên dịch bằng ACPI 5.0) có thể gây ra lỗi.
Để xác định phiên bản dsdt bạn ở chuẩn nào, vào Preferences của MacIASL để thay đổi phiên bản ACPI 4.0/5.0, ấn Compile thử, phiên bản nào gây ra ít lỗi hơn là phiên bản đúng.
Thiếu thông tin trong quá trình biên dịch ngược
Đây là lỗi rất phổ biến trên các dòng máy tính dùng nhiều SSDT, đặc biệt là các dòng Haswell trở về sau. Nguyên nhân do trong DSDT/SSDT có dùng một số hàm/biến bên ngoài (nằm trong các file SSDT khác, hoặc thậm chí không tồn tại), khi biên dịch do không biết đó là biến hay hàm, hay không biết chính xác số lượng tham số của hàm, dẫn đến dịch ngược sai các dòng đó.
Để khắc phục, các bạn cần trích xuất tất cả các DSDT, SSDT và biên dịch ngược lại như hướng dẫn trước.
Một số lỗi DSDT, SSDT phổ biến
Dưới đây là một số lỗi quan trọng bạn nên sửa sau khi mở file .dsl. Đây là các lỗi quan trọng, sửa xong có thể khắc phục luôn các lỗi khác (độ ưu tiên từ trên xuống).
Lỗi cú pháp
Một số lỗi cú pháp như _PLD, TNOT, FPED, IRC có thể được sửa bằng cách dùng kho Rehabman's DSDT patch (xem cách add ở phần MacIASL). Chọn nút patch và dùng các syntax patch [1.x]
Lỗi nhận dạng sai hàm
Một số hàm liên kết bên ngoài không đc nhận dạng đúng trong lúc biên dịch ngược, gây ra lỗi PARSEOP_ARG0:
Gặp lỗi này các bạn đưa tham số vào hàm để sửa. Ví dụ trong hình trên, ta sửa thành:
Code:
Return (MDBG(Arg0))
Sau khi sửa xong, bạn có thể chuyển qua lỗi khác "Not a control method, cannot invoke (XXXX is a Integer)", đây là lý do gây ra lỗi PARSEOP_ARG0 phía trên khi biên dịch ngược: hàm XXXX bị nhận dạng nhầm là một số (Integer), trong khi nó là 1 hàm (Method).
Bạn phải set nó về Hàm để sửa lỗi. Ví dụ trong hình trên:
Code:
External (MDBG, MethodObj)
Lỗi sai cấu trúc OperationRegion
Lỗi này được tạo ra do quá trình ngược bị 2 lỗi phía trên ảnh hưởng. Nó làm cấu trúc của OperationRegion bị biên dịch ngược sai, gây ra lỗi PARSEOP_FIELD.
Bạn cần đưa nó về cấu trúc đúng của OperationRegion. Ví dụ ở trong hình sửa thành:
Code:
OperationRegion (HRPE, SystemMemory, \_GPE.MMTB, 0x04) Field (HRPE, DWordAcc, Lock, Preserve) { VDPC, 32 }
Các lỗi khác bạn có thể dễ dàng sửa.
DSDT, SSDT: Một số patch DSDT phổ biến
Yêu cầu:
- Trích xuất và biên dịch ngược các file DSDT, SSDT
- Cấu hình MacIASL và sửa hết các lỗi
Dưới đây là một số patch cơ bản cho DSDT, có thể áp dụng cho nhiều máy. Các patch này có thể lấy từ kho Rehabman's DSDT patch. Để sử dụng, bạn chọn nút Patch, chọn patch tương ứng bên trái và ấn Apply.
Intel Graphics Patches [2.01] -> [2.06]
Inject thông tin ig-platform-id, dual-link (dành cho máy 1600x900) và hda-gfx (dùng cho HDMI audio) vào card đồ họa Intel Graphics HD3000/4000, sử dụng patch này xong bạn không cần phải dùng các tham số GE=Yes IntelCapriFB IntelAzulFB khi khởi động nữa. Dưới đây là các patch bổ sung cho HD4400, 4600:
HD4400, 4600 với màn hình 1366x768:
Code:
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() { 0x06, 0x00, 0x26, 0x0a },\n "hda-gfx", Buffer() { "onboard-1" },\n })\n }\n end;
HD4400, 4600 với màn hình 1600x900 trở lên:
Code:
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() { 0x06, 0x00, 0x26, 0x0a },\n "AAPL00,DualLink", Buffer() { 0x01, 0x00, 0x00, 0x00 },\n "hda-gfx", Buffer() { "onboard-1" },\n })\n }\n end;
Brightness fix [2.08]
Thêm thiết bị PNLF cơ bản điều khiển độ sáng màn hình.
Rename GFX0 to IGPU [2.11]
Đổi tên thiết bị đồ họa Intel HD Graphics từ GFX0, VID sang IGPU, giúp load AppleGraphicsPowerManagement kext, điều khiển điện năng và enable speedstep cho card onboard.
Lưu ý patch này không áp dụng cho tất cả các máy, bạn nên lựa những patch nào thích hợp cho máy để tránh rename sai thiết bị. GFX0 hoặc VID cho card onboard luôn nằm ngay trong PCI0, phân biệt với GFX0 cho card rời, nằm trong các nhánh con.
Ví dụ:
\_SB.PCI0.GFX0.TCHE -> đổi tên
\_SB_.PCI0.RP05.PEGP.GFX0 -> không đổi tên
USB (EHCI) Patches [3.1] -> [3.4]
Inject các thông tin về điện năng cho các cổng USB 2.0 (EHC) và USB 3.0 (XHC), giúp OS X tắt các thiết bị USB khi sleep. Thông số clock-id dùng để ngăn việc các thiết bị USB khởi động máy khi đang sleep.
IRQ Fix [7.01]
Loại bỏ các IRQ trong các thiết bị giúp tránh tình trạng xung đột IRQ, làm một số thiết bị như cổng FireWire, USB không hoạt động.
SMBUS [7.02]
Thêm thiết bị SMBUS vào máy, giúp sửa lỗi cảnh báo trong dmesg.
RTC FIx [7.03]
Giảm chiều dài thanh ghi của thiết bị HPET, ngăn không cho OS X ghi giá trị vào các thanh ghi này, giúp sửa lỗi reset CMOS khi sleep, shutdown, restart.
Shutdown Fix [7.04]
Sửa hàm _PTS (Put to sleep): bỏ tất cả các lệnh khi shutdown. Giúp sửa lỗi máy không tắt hoàn toàn khi shutdown do lệnh _PTS gặp trục trặc.
HPET Fix [7.05]
Đảm bảo các hàm trong thiết bị HPET luôn trả về giá trị thành công, bằng cách xoá hết các lệnh điều kiện. Giúp enable HPET trên một số máy (ảnh hưởng đến CPU), khi các hàm điều kiện trong HPET không chạy được.
OS Check Fix [7.06]
Một số máy chỉ bật các tính năng cao cấp như USB 3.0 khi hệ điều hành đang chạy >= Windows Vista. Patch này đánh lừa máy nghĩ rằng đang chạy Windows Vista.
AC Adapter Fix [7.07]
Giúp load AppleACPIACAdapter điều khiển nguồn điện.
Add MCHC [7.08]
Giống SMBUS patch
Fix _WAK Arg0 v2 [7.10]
Set thông số Arg0 = 3 (3 là mã cho wake from sleep của OS X) khi gọi hàm _WAK. Giúp sửa lỗi mở máy máy sau khi sleep do truyền sai thông số Arg0 cho _WAK
Audio Layout 12 [8.1]
Set layout id cho chip âm thanh của bạn, có thể thay số 12 thành số khác phù hợp với file AppleHDA được patch. Đồng thời thêm tham số hda-gfx để enable HDMI Audio.
DSDT, SSDT: Patch DSDT pin dựa theo các patch có sẵn
Yêu cầu:
- Trích xuất và biên dịch ngược các file DSDT, SSDT
- Cấu hình MacIASL và sửa hết các lỗi
- Mở file DSDT.dsl, chọn nút Patch > Kéo thanh bên trái tìm đến mục 4.0 Battery Patches, sẽ có 1 list các laptop đã được patch bởi RehabMan.
- Chọn patch nào gần giống với laptop của mình nhất (cùng hiệu, cùng dòng). Patch nào khi chọn càng có nhiều Changes thì sẽ càng tương thích. Bấm Apply.
- Bấm Compile để check lỗi, lỗi thường gặp là thiếu hàm B1B2 sau khi đã chia ra.
Ví dụ: lỗi ^^EC0.BSVO not accessible
Xem trong patch thì BSVO đã được chia thành BVO0 và BVO1
Code:
into scope label _SB.PCI0.LPCB.EC0 code_regex BSVO,\s+16 replace_matched begin BVO0,8,BVO1,8 end;
bạn tìm giá trị BSVO trong dsdt và thay nó bằng B1B2(BVO0,BVO1), lưu ý gắn thêm scope (nếu có)
Ví dụ ^^EC0.BSVO -> B1B2(^^EC0.BVO0,^^EC0.BVO1)
- Một số máy không cần patch dsdt pin, nhưng vẫn không hiện được pin là do trong máy có nhiều thiết bị BAT (BAT0, BAT1, BAT2,...). Bạn cần tắt hết các BAT phụ không dùng đến, giữ lại BAT chính (BAT0) bằng cách apply patch sau:
Code:
# Disable BAT1 and BAT2 devices into method label _STA parent_label BAT1 replace_content begin Return (Zero) end; into method label _STA parent_label BAT2 replace_content begin Return (Zero) end;
- Apply patch [7.11] Fix Mutex with non-zero SyncLevel.
- Download và cài đặt ACPIBatteryManager mới nhất tại đây: https://bitbucket.org/RehabMan/os-x-acpi-battery-driver/downloads hoặc dùng Hackintosh Vietnam Tool để cài.