1. Kết quả Event Ghost 2016


    Dưới đây là danh sách những thành viên đoạt giải thưởng trong Event Ghost 2016

Hướng dẫn cơ bản cài Mac OS X Lion (GM hoặc Final Mac App Store) ##

Thảo luận trong 'Các HĐH Khác' bắt đầu bởi hoangtungpc.info, 8 Tháng ba 2012.


  1. hoangtungpc.info

    hoangtungpc.info Moderator

    1,322
    1,031
    113
    A. Tạo bộ cài đặt Mac OS X Lion
    I. Chuẩn bị
    - Máy tính đã cài Mac OS X (Snow Leopard hoặc Leopard). Tốt nhất là bạn nên cài Snow Leopard và nhận full trên máy tính của bạn, patch DSDT thì càng tốt.
    - USB 8GB trở lên (cho thuận tiện, tất nhiên tạo bộ cài trên một phân vùng HDD cũng được)
    - Setup Lion (file Install Mac OS X Lion.app hoặc file InstallESD.dmg)
    - Setup Chameleon bootloader (nên xài Chimera, bản mới nhất hiện nay là 1.4.1)
    - Tập các kext cần thiết để khởi động (các kext riêng biệt hoặc Extensions.mkext). Trong phần tiếp theo sẽ nói rõ hơn.

    II. Tạo bộ cài gốc trên USB
    Hướng dẫn tiếp theo sẽ chỉ rõ cách tạo bộ cài đặt trên USB. Hoàn toàn tương tự, bạn cũng có thể tạo bộ cài đặt trên phân vùng HDD.

    1. Tạo phân vùng trên USB để chứa bộ cài Lion
    - Vào Disk Utility, chọn ổ USB của bạn (phân biệt giữa ổ (disk) và phân vùng (partition))
    - Chuyển sang thẻ Partition, chọn Partition Layout là 1 Partition, Name tuỳ ý bạn, Format là Mac OS X Extended (Journalled)
    Trong bài viết này, mình sẽ gọi tên phân vùng USB là Lion Installer
    - Bấm nút Options, chọn Partition Scheme là MBR (GPT cũng được, nhưng MBR dễ boot hơn trên PC).
    - Bấm Apply -> Partition và đợi cho đến khi tạo xong phân vùng.

    [​IMG]

    2. Restore bộ cài gốc ra USB
    - Bấm chuột phải vào Install Mac OS X.app, chọn Show Package Contents.
    - Vào thư mục Contents -> SharedSupport, mở file InstallESD.dmg
    [​IMG]
    - Hiện tất cả các file ẩn, vào ổ Mac OS X Install ESD, mở file BaseSystem.dmg
    [​IMG]
    - Vào Disk Utility, chọn phân vùng Mac OS X Base System. Chuyển sang thẻ Restore, kéo phân vùng Mac OS X Base System vào Source (nếu chưa có), kéo phân vùng Lion Installer vào Destination, bỏ chọn Erase Destination (vì đã erase rồi). Đôi khi tùy chọn Erase Destination có thể không xuất hiện, Disk Utility khi đó sẽ Erase lại và đặt tên phân vùng là Mac OS X Base System.

    [​IMG]
    - Bấm Restore -> Restore để bung Mac OS X Base System ra USB
    - Sau khi bung xong, vào Lion Installer/System/Installation, xoá cái alias “Packages” đi
    - Copy thư mục Packages từ Mac OS X Install ESD vào Lion Installer
    - Copy mach_kernel từ Mac OS X Install ESD vào Lion Installer
    - Nếu ổ cứng chứa phân vùng mà bạn định cài Mac OS X Lion được định dạng theo kiểu MBR thay vì GPT thì bạn phải patch setup để cài trên ổ cứng MBR


    3. Cài các kext cần thiết, boot.plist, SMBIOS.plist, DSDT và Chameleon Bootloader
    Một cách đơn giản nhất để chuẩn bị các kext, boot.plist và SMBIOS.plist cho Lion Installer là dùng gói Extra_Lion_DP4.pkg (cài vào Lion Installer). Trong gói này có Extensions.mkext, com.apple.boot.plist và smbios.plist của MacPro3,1
    Còn nếu bạn muốn xài DSDT, tự chọn các kext cần thiết và tự thiết lập boot.plist thì làm như sau

    [​IMG]

    a. Cài kext
    - Tạo thư mục Extra trong Lion Installer và Extensions trong Extra, hoặc đơn giản nhất là copy thư mục Extra trong máy bạn vào Lion Installer
    - Trong thư mục Extensions chỉ giữ lại các kext cần thiết, trong đó các kext quan trọng như sau (nên dùng bản mới nhất):
    + FakeSMC (version 3.1 trở lên)
    + NullCPUPowerManagement
    + ElliottForceLegacyRTC hoặc LegacyAppleRTC
    + EVOReboot (thực tế cái này không cần thiết với Chameleon 2.0 RC5 vì Chameleon có tính năng RestartFix)
    + IOAHCIBlockStorageInjector
    + AppleACPIPS2Nub & ApplePS2Controller (nếu bạn xài keyboard, mouse, trackpad PS/2). Không thì có thể dùng VoodooPS2Controller (bản mới không cần AppleACPIPS2Nub).
    Lưu ý là nếu bạn dùng DSDT thì một số kext có thể bỏ (chẳng hạn như 4 kext ở giữa).
    - Xoá Lion Installer/Extra/Extensions.mkext nếu có (để Chameleon khi boot sẽ load từng kext một trong /Extra/Extensions và /System/Library/Extensions, tương tự khi boot với tham số -f)

    Lưu ý là bộ Extra này sẽ được sử dụng tiếp để boot vào Lion, cho nên nếu bạn muốn bổ sung một vài chức năng như kết nối Internet trong khi setup ngôn ngữ thì có thể bổ sung thêm kext. Một lưu ý nhỏ là tính đến thời điểm viết bài thì VoodooHDA chưa chạy được trên Lion.

    Lấy ví dụ với mình, do dùng DSDT hard-code card đồ hoạ nVidia nên mình chỉ giữ các kext cần thiết như FakeSMC, RealtekRTL81xx.kext, VoodooPS2Controller, không cần kext đồ họa.

    [​IMG]

    b. Sửa boot.plist
    - Cái này thì dùng Lizard là dễ sửa nhất. Chạy Lizard, vào Preferences chọn Extra folder path là /Volumes/Lion Installer/Extra rồi khởi động lại Lizard là được.
    [​IMG]

    - Bạn nên đánh dấu các mục sau
    + Instant Menu (luôn hiện menu boot)
    + Graphics Injection (GraphicsEnabler, nếu bạn muốn tự động nhận card đồ hoạ được hỗ trợ bởi Chameleon)

    Custom Paths
    + DSDT: để là /Extra/dsdt.aml nếu bạn có xài DSDT
    + SMBIOS: để là /Extra/SMBIOS.plist

    Extra Flags: thêm các option mà bạn muốn, như GeneratePStates, GenerateCStates, RestartFix, ... Lưu ý là không được thêm option UseKernelCache=Yes

    [​IMG][​IMG]
    [​IMG][​IMG]

    Cuối cùng bấm Save để lưu lại.

    Một mẫu com.apple.boot.plist cho các bạn tham khảo (tham khảo thôi, đừng xài nguyên si)

    Code:

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>DSDT</key> <string>/Extra/dsdt.aml</string> <key>EthernetBuiltIn</key> <string>Yes</string> <key>GenerateCStates</key> <string>Yes</string> <key>GeneratePStates</key> <string>Yes</string> <key>Kernel</key> <string>mach_kernel</string> <key>Kernel Flags</key> <string></string> <key>SMBIOS</key> <string>/Extra/smbios.plist</string></dict></plist>

    c. SMBIOS.plist
    - Nên chọn SMBIOS.plist của máy Mac có cấu hình gần giống với máy bạn nhất. Nếu thấy khó chọn thì cứ xài tạm SMBIOS của MacPro3,1 là được.
    Mình dùng SMBIOS.plist của macmini3,1

    d. Cài đặt Chameleon Bootloader
    - Nên xài Chimera, cài vào Lion Installer
    - Có thể bổ sung Default theme của Chameleon vào Lion Installer/Extra

    [​IMG]
    Vậy là xong, bạn đã có USB cài Mac OS X Lion

    B. Cài đặt Mac OS X Lion
    I. Thiết lập BIOS
    - Nếu bạn đã từng cài Snow Leopard thì không cần thiết lập BIOS nữa. Còn nếu không thì bạn vào BIOS Settings, chỉnh các thiết lập cho phù hợp (SATA AHCI hoặc Auto, HPET 64-bit, ...)

    II. Boot
    - Boot vào USB cài Lion, sẽ thấy hiện menu boot của Chameleon.
    - Xác định tham số boot của bạn:
    + Nên boot có tham số -v để có thể theo dõi toàn bộ quá trình boot. Có thể thêm Wait=Yes để xem Chameleon trước khi chạy kernel sẽ nạp DSDT, kext, và nhận diện phần cứng như thế nào.
    + Nếu lần boot lúc trước bị lỗi kernel panic thì có thể boot thêm -x (Safe Boot, chỉ các kext cần thiết mới được nạp)
    + Không cần boot -f (vì có Extensions.mkext đâu, nên Chameleon sẽ load từng kext một trong /Extra/Extensions và /System/Library/Extensions)
    + Có thể thêm arch=i386 để boot 32-bit
    + Nếu lần boot lúc trước chưa hiện console boot nền đen mà đã tự reset thì có thể là CPU. Boot thêm tham số busratio=17 và cpus=1 (thay số 17 theo Bus Ratio của CPU của bạn)

    + Một số bạn khi boot lần đầu có thể bị đứng lại ở dòng [PCI Configuration Begin], khi đó boot thêm tham số npci=0x2000 để không load IOPCIFamily.kext. Hoặc bạn có thể thay thế IOPCIFamily.kext trong Lion Installer/System/Library/Extensions bằng một phiên bản cũ hơn (IOPCIFamily.kext trong Mac OS X 10.6.7 chẳng hạn)
    - Chọn phân vùng Lion Installer, nhập tham số boot và bấm Enter để boot. Theo dõi quá trình boot xem có vấn đề gì không.
    Mình thì boot OK nên chỉ cần boot tham số -v Wait=Yes

    III. Chuẩn bị phân vùng cài Mac OS X Lion

    - Nếu boot thành công, bạn sẽ thấy giao diện chọn ngôn ngữ của Lion Setup. Chọn ngôn ngữ mà bạn thích (tất nhiên là không có tiếng Việt)
    - Setup của Mac OS X Lion hiện ra. Vào menu Utilities -> Disk Utility và chuẩn bị phân vùng cài Mac OS của bạn.

    Bạn có thể cài Lion trực tiếp vào phân vùng Snow Leopard của bạn. Chỉ cần erase phân vùng đó là xong (nên nhớ backup Snow Leopard trước khi erase). Hoặc nếu ổ cứng của bạn là GUID thì bạn có thể dùng Disk Utility để thêm một phân vùng cài Lion (Nên để kích thước từ 8GB trở lên, định dạng là Mac OS X Extended (Journaled)).

    Nếu bạn xài ổ cứng MBR mà định tạo phân vùng mới để cài Lion thì sẽ khá khó khăn.Bạn có thể làm như sau:
    - Boot vào 1 live CD linux chứa GParted (nên dùng Parted Magic Live CD mới nhất)
    - Dùng GParted tạo phân vùng cài Lion, format là HFS+
    - Boot vào Lion Installer, mở Disk Utility, chọn phân vùng đã tạo và click vào nút Enable Journaling.

    Sau khi đã tạo phân vùng cài Lion, đóng Disk Utility.

    Mình sẽ gọi phân vùng đó là OSX

    IV. Copy Extra vào phân vùng cài Lion
    Sau khi cài đặt xong thì bạn phải boot vào phân vùng cài Lion để chạy Lion. Nếu không có Extra trong phân vùng đó thì làm sao boot được. vì thế ta phải copy Extra từ Lion Installer vào OSX. Ta làm như sau:

    - Mở Utilities -> Terminal
    - Trong cửa sổ lệnh, gõ lệnh sau để copy Extra từ Lion Installer vào OSX (nhớ đổi OSX thành tên phân vùng của bạn, chính xác từng chữ cái):

    Code:

    cp -r “/Extra” “/Volumes/OSX/Extra”
    Sau khi chạy xong lệnh, vào menu Terminal -> Quit Terminal

    V. Cài Lion

    [​IMG]

    - Trong setup Lion, bấm Continue -> Agree
    - Chọn phân vùng cài đặt Lion
    - Bấm Customize nếu bạn muốn tắt/bật một số tuỳ chọn cài đặt.
    - Bấm Install, mở Windows -> Installer Log, chọn Show All Log nếu bạn muốn theo dõi tiến trình cài đặt.
    - Trong lúc đó có thể đi uống cafe, máy sẽ không tự động restart vì cửa sổ Installer Log đang hiện.
    - Đóng cửa sổ Installer Log, bấm Restart

    C. Tinh chỉnh Mac OS X Lion sau khi cài đặt
    I. Boot và setup cơ bản cho Lion
    - Khi khởi động lại, boot vào USB cài Lion. Lần này ta mượn Chameleon trên USB để boot vào phân vùng cài Lion (OSX)
    - Chọn phân vùng OSX, gõ tham số boot rồi bấm Enter để boot. Theo dõi quá trình boot Lion
    - Nếu boot thành công thì sẽ hiện Thuật sĩ thiết lập Lion. Chạy các bước của thuật sĩ để thiết lập ngôn ngữ, ngày giờ, tài khoản người dùng, internet. Tuyệt đối không register với Apple.

    Có một lưu ý nhỏ là các bạn xài bàn phím PS/2 sẽ không thể tiếp tục thuật sĩ (thuật sĩ báo là không nhận bàn phím, trong khi đó VoodooPS2Controller đã nhận được bàn phím). Tạm thời các bạn có thể mượn bàn phím và chuột USB để tiếp tục bước cài đặt (cáp chuyển từ PS/2 -> USB không biết có được không).

    II. Cài các kext cần thiết, boot.plist, SMBIOS.plist, DSDT và Chameleon Bootloader

    Nhanh nhất là mượn /Extra từ Snow Leopard, copy vào OSX, tinh chỉnh và cài Bootloader là xong. Còn ở đây thì mình sẽ nói đầy đủ các bước cho các bạn

    1. Cài kext
    Ta đã copy cái Extra từ Lion Installer vào OSX. Giờ chỉ là bổ sung thêm các kext để nhận diện thêm phần cứng và xoá kext không cần thiết là xong.

    Với mình thì bổ sung thêm các kext sau
    + FakeSMC Plugins (bộ plugin đo nhiệt độ, quạt cho FakeSMC)
    + ALC662.kext chứa thông tin của chip audio Realtek ALC662
    + RealtekRTL81xx.kext: Nhận LAN Realtek
    + AppleHDA.kext được patch để hỗ trợ ALC662, chép đè cái gốc trong /System/Library/Extensions
    + AppleLPC.kext có bổ sung LPC của mình, chép đè cái gốc trong /System/Library/Extensions

    Ngoài ra mình chạy setup cài thêm driver cho 3G và NTFS.

    Bạn có thể dùng MultiBeast để cài kext, bootloader, boot.plist, smbios.plist, ... cho tiện. Gói này tổng hợp khá nhiều driver, rất thuận tiện cho những bạn mới cài Mac OS X.

    2. Thiết lập boot.plist
    Vẫn dùng Lizard, vào Preferences clear cái Extra folder patch rồi chạy lại Lizard là được.
    Nếu những lần sau boot ngon lành, bạn có thể bật Quiet Boot và tắt Instant Menu để Chameleon boot tự động vào Mac OS X. Hoặc không thì tắt Quiet Boot và Instant Menu, đặt timeout khi boot vào Mac OS X
    Lưu ý là vẫn chưa được bật UseKernelCache=Yes

    Sau khi thiết lập xong, bấm Save để lưu com.apple.boot.plist

    Lưu ý là chameleon.prefpane chưa có bản hoạt động trên Lion.

    3. DSDT
    Cái này thì tự nghiên cứu hoặc nhờ người khác patch hộ. Sau khi patch xong thì copy dsdt.aml vào /Extra. Chạy Lizard, trong phần custom paths chọn file DSDT là /Extra/dsdt.aml rồi save lại.

    Khi patch DSDT rồi thì có thể bỏ bớt một số kext tùy theo các phần đã patch như ElliottForceLegacyRTC, NullCPUPowerManagement, IOAHCIBlockStorageInjector, ...

    4. Bootloader
    Cài bootloader Chameleon vào phân vùng OSX. Bổ sung thêm theme tuỳ ý bạn, thiết lập theme bằng Lizard.

    5. Các tinh chỉnh khác
    Cái này do bạn tự xử lí tùy theo phần cứng và các thiết lập của bạn (chẳng hạn như nhận card đồ họa bằng ROM, patch một số kext nào đó, ...)

    Cuối cùng bạn khởi động lại, boot thẳng vào OSX (không dùng USB, nhớ boot có tham số -v) xem có boot được không. Nếu boot được thì tức là Mac OS X Lion về cơ bản đã cài đặt thành công trên máy bạn.


    III. Các fix cho Lion

    Những fix dưới đây nên thực hiện sau khi Mac OS X Lion đã có thể boot ngon lành không cần USB nữa. Có thể còn nhiều vấn đề cần fix, dưới đây là một số vấn đề mà mình đã gặp phải và có cách fix.

    1. Fix CMOS Reset sau khi sleep
    Một số máy sau khi sleep rồi wake up thì không sao, nhưng đến khi restart là bị CMOS Reset dù đã patch DSDT RTC hoặc cài kext LegacyRTC. Cái này fix bằng cách patch AppleRTC.kext gốc.
    - sao lưu AppleRTC.kext gốc trong /System/Library/Extensions
    - Mở Terminal, chạy dòng lệnh sau (nhớ nhập password)

    Code:

    sudo perl -pi -e 's|\x75\x30\x44\x89\xf8|\xeb\x30\x44\x89\xf8|; s|\x75\x3d\x8b\x75\x08|\xeb\x3d\x8b\x75\x08|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC
    Sau đó rebuild cache và repair permission cho /System/Library/Extensions

    2. Repair Permissions, tạo Extensions.mkext cho /System/Library/Extensions và /Extra/Extensions
    Mac OS X Lion sử dụng prelinked-kernel (file kernelcache trong /System/Library/Caches/com.apple.kext.caches/Startup) thay thế Extensions.mkext truyền thống, nên Chameleon phiên bản cũ bó tay khi boot Lion

    Các phiên bản mới của Chameleon có thể đọc kernelcache khi boot bằng cách bật tham số UseKernelCache=Yes, nhưng chỉ biết đọc file kernelcache đó thôi, ngoài ra không đọc thêm file nào khác (như Extensions.mkext trong /Extra), vì vậy boot lỗi ngay (do các kext quan trọng như FakeSMC đều đóng gói trong /Extra/Extensions.mkext). Có 3 cách để xử lí vấn đề này

    a. Tắt UseKernelCache, để Chameleon khi boot sẽ load từng kext một trong /Extra/Extensions và /System/Library/Extensions (tương tự boot tham số -f). Tất nhiên cách này sẽ làm kéo dài thời gian boot và một số tính năng của Lion có thể không hoạt động. Khuyến cáo không nên dùng cách này.

    b. Chuyển hết kext từ /Extra/Extensions vào /System/Library/Extensions. Cách này có thể chấp nhận được, các bạn nên dùng cách này cho đơn giản. Sau khi di chuyển kext xong thì repair permission và rebuild kernelcache (dùng Kext Wizard mới nhất là được)

    c. Tắt UseKernelCache và thủ công tạo Extensions.mkext từ /System/Library/Extensions. Khi đó Chameleon sẽ load bình thường (tương tự như load Snow Leopard), nhưng đổi lại mỗi khi có thay đổi hệ thống thì lại phải chạy lệnh. Cách này khá phiền phức nhưng mình cũng nói ra vì trước đây mình dùng cách này.

    Vào Terminal, chạy lần lượt các lệnh sau để Fix Permissions và tạo Extensions.mkext cho /System/Library/Extensions:

    Code:

    sudo chown -R 0:0 /System/Library/Extensionssudo chmod -R 755 /System/Library/Extensionssudo kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
    Đơn giản hơn các bạn có thể chạy app nhỏ của mình gọi là pfix-create_mkext-SLE-lion.app . Ứng dụng sẽ tự động thực hiện 3 lệnh trên.

    Tương tự, các bạn chạy lần lượt các lệnh sau để Fix Permissions và tạo Extensions.mkext cho /Extra/Extensions:

    Code:

    sudo chown -R 0:0 /Extrasudo chmod -R 755 /Extrasudo kextcache -v 1 -a i386 -a x86_64 -m /Extra/Extensions.mkext /Extra/Extensions
    Đơn giản hơn các bạn có thể chạy app nhỏ của mình gọi là pfix-create_mkext-Extra-lion.app . Ứng dụng sẽ tự động thực hiện 3 lệnh trên.

    3. Repair Disk Permission

    Cái này thì đã nói ở trên rồi. Vào Disk Utility, chọn phân vùng OSX rồi bấm Repair Disk Permissions.

    [IMG]https://byfiles.storage.live.com/y1p2lbiLDS_mqRT11cPtHRzUdgzltennnQ3HzNRIbhy2d9DzmbXeYErgO3K-CxujHM8oEP1gflo8WA/img14.jpg?psid=1[/IMG]



    Cơ bản có vậy, còn những chi tiết khác trong quá trình cài đặt thì xin để các bạn tự khám phá. Trình độ mình còn gà con, mong được các bạn góp ý bổ sung để bài viết hoàn thiện hơn [​IMG]

    Các bạn có thể down gói Lion.zip chứa hướng dẫn và các file cần thiết tại đây.
    Hoặc không thì tùy theo nhu cầu của bạn mà down từng phần tại đây.

     
    gameonli thích bài này.

Chia sẻ trang này