niemtin007

facebook.com/niemtin007

hãy theo đuổi đam mê - chủ nợ sẽ theo đuổi bạn

Sunday, January 11, 2015

[Guide] Tạo USB để cài Mac OS (Phần 2)


Lever 2: Tạo USB cài Mac OS:

Để tạo được USB cài Mac OS X ngoài máy ảo ta cần những thứ sau:
  • Install OS X Mavericks 10.9.5 (download)
  • Install OS X Yosemite 10.10.2 (download)
  • Install OS X El Capitan 10.11.5 (download)
  • Install MacOS Sierra 10.12 (download)
  • Install MacOS Sierra 10.12.5 (download) - new
  • Clover bản mới nhất (download)
  • HFSPlus.efi (download)
  • FakeSMC.kext (download) - Kext giả lập máy Mac quan trọng nhất trong Hackintosh
  • VoodooPS2Controller.kext (download) - điều khiển bàn phím chuột khi boot vào bộ cài
  • NullCPUPowerManagement.kext (download)
  • Hackintosh Vietnam - Ultimate AIO Tool  (download) để tạo config.plist nhanh cho máy.
    Tuy nhiên hiện nay tool đã ngừng cập nhật, bạn có thể lấy config.plist từ nguồn của Rehabman phù hợp với máy bạn https://github.com/RehabMan/OS-X-Clover-Laptop-Config
  • Cloud Clover Editor (chỉnh sửa config.plist trên nền web)
  • Một chiếc USB thật tốt - Một số máy sẽ gặp lỗi boot nếu sử dụng USB 3.0

Bộ cài OS X được download từ Appstore và chỉ có thể download trực tiếp trên máy chạy Mac OS, vì vậy mình cũng khuyên các bạn nên tạo trước một tài khoản Apple ID, đăng nhập và download thông qua máy ảo. Bộ cài phía trên được mình download trên Mac OS và upload lên Fshare




Chuẩn bị bộ cài

Giải nén và copy Install OS X ***.app vào thư mục Applications thông qua ổ share đã cấu hình




Kết nối USB vào máy ảo

Cắm USB vào máy tính - nếu USB không tự nhận chọn như hình để kết nối USB vào máy ảo

Hình dung quy trình
  • Mục đích của bài viết trước và những gì vừa làm phía trên là làm sao để USB kết nối được với máy tính đang chạy Mac OS X, và ta đã làm xong, việc bây giờ là làm sao tích hợp bộ cài lên USB và làm cho USB này có thể cài Mac được
  • Có hai công cụ bạn cần sử dụng có sẵn ngay trong Mac OS là Terminal và Disk Ultility. Bạn có thể gõ tên trên thanh tìm kiếm của Mac OS có biểu tượng là cái kính lúp gần đồng hồ để lôi đầu hai em này ra

Cấu trúc phân vùng của một chiếc USB cài Mac OS
  • Phân vùng chứa bộ cài (install_osx): Để thuận tiện và nhanh chóng chỉ cần Erase USB thành một phân vùng duy nhất. 
  • Phân vùng EFI: Chứa Clover, có vai trò như một hệ điều hành nhỏ nhằm máy tính nhận được phân vùng chứa bộ cài Mac OS là giúp khởi động bộ cài từ phân vùng này.



Erase và đặt tên cho USB

Để đơn giản bạn chỉ cần chọn vào tên thiết bị USB của bạn sau đó chọn Erase để Disk Utility tự động gom USB về một phân vùng duy nhất. Sau khi tích hợp bộ cài xong tiến hành cài Clover, lúc này Clover sẽ tự động tách một phân vùng riêng cho nó





Tích hợp bộ cài vào USB

Có 2 cách được khuyên nên dùng để tạo bộ cài là:
  • Phương pháp Createinstallmedia hỗ trợ từ 10.9+ trở lên
  • Phương pháp BaseBinaries clone là phương pháp cổ điển để tạo USB cài hackintosh từ những thời kỳ đầu, với phương pháp này ta dễ xóa bỏ hay thêm kext trong bộ cài gốc của Mac OS vì vậy thích hợp hơn cho newbie.
Lưu ý: thời gian tích hợp bộ cài vào USB khá lâu, có thể mất cả tiếng đồng hồ tùy vào tốc độ đọc ghi của USB và cách thiết đặt chuẩn kết nối của máy ảo



Phương pháp Createinstallmedia


Trước khi chạy lệnh ở terminal bạn cần phải có bộ cài trong thư mục Applications và tên của phân vùng bạn muốn ghi bộ cài lên cần đổi tên là install_osx
  • Đối với OS X Mavericks
    sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/install_osx --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction 

  • Đối với Yosemite
    sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/install_osx --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction

  • Đối với EL Capitan
    sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/install_osx --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction

  • Đối với Sierra
    sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/install_osx --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction

Phương pháp BaseBinaries clone
    Lưu ý: phương pháp này bạn có thể làm thông qua giao diện bằng cách dùng Disk Utility và Finder nhưng để thuận tiện thì ta có thể dùng lệnh cho nhanh. Bạn copy từng lệnh và dán vào Terminal
    Trước khi chạy lệnh ở terminal bạn cần phải có bộ cài trong thư mục Applications và tên của phân vùng bạn muốn ghi bộ cài lên cần đổi tên là install_osx
  • Đối với OS X Mavericks
    # temporary directory
    mkdir /tmp/install_esd

    # mount InstallESD.dmg in installer package
    hdiutil attach "/Applications/Install OS X Mavericks.app/Contents/SharedSupport/InstallESD.dmg" -readonly -mountpoint /tmp/install_esd -nobrowse

    # restore it to target
    sudo asr restore -source /tmp/install_esd/BaseSystem.dmg -target /Volumes/install_osx -erase -format HFS+ -noprompt

    # rename the target to be less unwieldy
    diskutil rename "OS X Base System" install_osx

    # remove Packages symlink
    rm /Volumes/install_osx/System/Installation/Packages

    # copy Packages as folder
    cp -a /tmp/install_esd/Packages /Volumes/install_osx/System/Installation

    # copy BaseSystem.dmg
    cp -a /tmp/install_esd/BaseSystem.dmg /tmp/install_esd/BaseSystem.chunklist /Volumes/install_osx

    # unmount InstallESD.dmg
    hdiutil detach /tmp/install_esd

    # remove temporary directory
    rmdir /tmp/install_esd

  • Đối với Yosemite
    # temporary directory
    mkdir /tmp/install_esd

    # mount InstallESD.dmg in installer package
    hdiutil attach "/Applications/Install OS X Yosemite.app/Contents/SharedSupport/InstallESD.dmg" -readonly -mountpoint /tmp/install_esd -nobrowse

    # restore it to target
    sudo asr restore -source /tmp/install_esd/BaseSystem.dmg -target /Volumes/install_osx -erase -format HFS+ -noprompt

    # rename the target to be less unwieldy
    diskutil rename "OS X Base System" install_osx

    # remove Packages symlink
    rm /Volumes/install_osx/System/Installation/Packages

    # copy Packages as folder
    cp -a /tmp/install_esd/Packages /Volumes/install_osx/System/Installation

    # copy BaseSystem.dmg
    cp -a /tmp/install_esd/BaseSystem.dmg /tmp/install_esd/BaseSystem.chunklist /Volumes/install_osx

    # unmount InstallESD.dmg
    hdiutil detach /tmp/install_esd

    # remove temporary directory
    rmdir /tmp/install_esd

  • Đối với EL Capitan
    # temporary directory
    mkdir /tmp/install_esd

    # mount InstallESD.dmg in installer package
    hdiutil attach "/Applications/Install OS X El Capitan.app/Contents/SharedSupport/InstallESD.dmg" -readonly -mountpoint /tmp/install_esd -nobrowse

    # restore it to target
    sudo asr restore -source /tmp/install_esd/BaseSystem.dmg -target /Volumes/install_osx -erase -format HFS+ -noprompt

    # rename the target to be less unwieldy
    diskutil rename "OS X Base System" install_osx

    # remove Packages symlink
    rm /Volumes/install_osx/System/Installation/Packages

    # copy Packages as folder
    cp -a /tmp/install_esd/Packages /Volumes/install_osx/System/Installation

    # copy BaseSystem.dmg & AppleDiagnostics.dmg
    cp -a /tmp/install_esd/BaseSystem.dmg /tmp/install_esd/BaseSystem.chunklist /tmp/install_esd/AppleDiagnostics.dmg /tmp/install_esd/AppleDiagnostics.chunklist /Volumes/install_osx

    # unmount InstallESD.dmg
    hdiutil detach /tmp/install_esd

    # remove temporary directory
    rmdir /tmp/install_esd
  • Đối với Sierra
    # temporary directory
    mkdir /tmp/install_esd

    # mount InstallESD.dmg in installer package
    hdiutil attach "/Applications/Install macOS Sierra.app/Contents/SharedSupport/InstallESD.dmg" -readonly -mountpoint /tmp/install_esd -nobrowse

    # restore it to target
    sudo asr restore -source /tmp/install_esd/BaseSystem.dmg -target /Volumes/install_osx -erase -format HFS+ -noprompt

    # rename the target to be less unwieldy
    diskutil rename "OS X Base System" install_osx

    # remove Packages symlink
    rm /Volumes/install_osx/System/Installation/Packages

    # copy Packages as folder
    cp -a /tmp/install_esd/Packages /Volumes/install_osx/System/Installation

    # copy BaseSystem.dmg & AppleDiagnostics.dmg
    cp -a /tmp/install_esd/BaseSystem.dmg /tmp/install_esd/BaseSystem.chunklist /tmp/install_esd/AppleDiagnostics.dmg /tmp/install_esd/AppleDiagnostics.chunklist /Volumes/install_osx

    # unmount InstallESD.dmg
    hdiutil detach /tmp/install_esd

    # remove temporary directory
    rmdir /tmp/install_esd



Cài đặt Clover lên USB vừa tạo


Chú ý: tại hình thứ 4 là cài đặt driver cho Clover Bootloader. Thông thường chỉ cần chọn 3 tùy chọn như trên là được. Các driver còn lại tùy vào từng máy mà chọn thêm (nếu cần). Lưu ý thêm có vài driver trong Clover sẽ giải quyết một số lỗi ở một vài máy nhưng nó cũng có thể gây lỗi cho máy khác, tùy vào khi bạn boot thử có gặp lỗi như phần miêu tả của driver khi cài đặt không mà thêm bớt cho phù hợp. Riêng driver OsxLowMemFix... không được đi kèm với driver OsxAptionFixDrv... vì sẽ xảy ra xung đột




Chỉnh sửa Config.list phù hợp với máy của bạn

Mỗi máy có một cấu hình khác nhau, để Clover nhận diện máy bạn và có thể boot được vào bộ cài bạn cần cấu hình cho Config.plist

Config.plist dành cho USB cài Hackintosh không nhất thiết phải quá nhiều thiết lập. Bạn nên tải config.plist của Rehabman và dùng trình Clover Configurator để edit thêm (nhớ chọn config.plist đúng với dòng máy của bạn, đổi tên nó thành config.plist trước khi ném vào phân vùng EFI trên Clover)
https://github.com/RehabMan/OS-X-Clover-Laptop-Config

Note: Để chỉnh sửa nhanh config.plist nhanh bạn có thể sử dụng Cloud Clover Editor để chỉnh sửa ngay trên nền Web cho thuận tiện
http://cloud-clover-editor.sourceforge.net/cce/index.php


Hầu hết các thiết lập Rehabman đã cấu hình cho bạn, nhưng bạn cần chỉnh sửa nó một chút cho phù hợp với máy bạn, chú ý các thiết lập sau:


ig-platform-ids phổ biến thường gặp (nguồn Rehabman)
      • 0x01660003: dành cho HD4000 phân giải 1366x768
      • 0x01660004: dành cho HD4000 phân giải1600x900, 1920x1080
      • 0x01660008, 0x01660009: dành cho HD4000 phân giải 1600x900, 1920x1080
      • 0xa260006: dành cho HD4400/HD4600/HD5000
      • Đối với Haswell ig-platform-id thử các giá trị này: 0xa260005, 0xa260000, 0xa160000, 0xa2e0008, 0xa2e000a
Bạn cũng nên tiến hành giả lập SMSBIOS luôn để sau khi cài đặt thông tin ở info của máy Mac cho đúng. Nhớ chọn cấu hình Macintosh tương ứng với chip mà bạn đang dùng, để ý luôn năm sản xuất nhá.




Di chuyển những file đã chuẩn bị vào đúng vị trí

      • Copy Config.plist vào USB vào đường dẫn EFI\CLOVER\
      • Copy DSDT.aml và các SSDT*.aml vào đường dẫn EFI\CLOVER\ACPI\Patched
      • Copy HFSPlus.efi vào đường dẫn EFI\CLOVER\driver64UEFIxóa VboxHfs-64.efi đi
      • Copy FakeSMC.kextVoodooPS2Controller.kext vào đường dẫn
        EFI\CLOVER\kexts\otherxóa các folder còn lại đi




Đối với những bạn chưa có DSDT và SSDT

DSDT là linh hồn của cỗ máy hackintosh, kết hợp với Clover bootloader nó giúp Mac OS X nhận diện được phần cứng một cách đầy đủ, từ đó giảm thiểu tối đa lỗi trong quá trình cài. Hầu hết các lỗi xảy ra khi cài Mac OS là do khi load kext không nhận diện được phần cứng sinh ra lỗi. Lỗi này thường gặp ở các kext đồ họa, kext điều khiển CPU...

Thường thì lấy DSDT là công đoạn gần cuối khi cài Mac OS X, nhưng để dễ dàng hơn trong quá trình cài, giúp quá trình cài nhanh gọn và ít lỗi thì ta có thể lên Google tìm thử dòng máy mình (hay laptop của mình) đã có DSDT người ta patch sẵn chưa?! Thường thì các máy cùng chung mainboard có thể dùng được DSDT của nhau. Riêng mình thì khuyên các bạn tập Patch DSDT trước thông qua máy ảo đã cài sẵn bằng cách áp dụng các gói patch của Rehabman

Hướng dẫn Patch DSDT cho máy Hackintosh (Phần 5)

Lưu ý rằng: khi chưa có DSDT/SSDT thì Mac OS chưa quản lý được năng lượng phần cứng. Để tránh cho hệ thống bị panic bạn copy thêm NullCPUPowerManagement.kext vào đường dẫn EFI\CLOVER\kexts\other




Làm gì khi không thể boot được vào bộ cài Mac OS (hackintosh)

Không riêng gì các bạn newbie, đây là chuyện gặp như cơm bữa của người cài hackintosh. Cách tạo USB cài Mac OS phía trên là chung nhất cho nhiều máy, nhưng tùy vào những trường hợp cụ thể mà ta linh hoạt để cấu hình cho phù hợp. Đôi lúc cần phải boot thử xem thông báo lỗi thế nào sau đó tùy vào kinh nghiệm mà thêm thắt cho phù hợp.

Lỗi phổ biến nhất do thiếu DSDT/SSDT là Missing Bluetooth Controller Transport lỗi này liên quan đến card đồ họa rời,  bạn có thể khắc phục tạm bằng cách truy cập vào bộ cài trên USB theo đường dẫn /System/Library/Extensions tìm và xóa các kext có tên AppleIntelHD*.kext và AppleIntelF*.kext




Vậy là cuối cùng cũng xong cái USB để cài Mac OS X (phù mệt......! ) Nếu sau này muốn dùng USB này cài cho máy khác bạn lưu ý tạo lại Config.plist cho phù hợp. Nhiệm vụ tiếp theo là làm sao cài được Mac OS X từ chiếc USB này

To be continue ...

Blog được tạo ra chỉ với mục đích chia sẻ kinh nghiệm. Không thu phí bạn đọc dưới bất kỳ hình thức nào. Chúc các bạn thành công!
Join Our Newsletter