Jul 17, 2017

Phần 1: Cách Hackintosh của newbie hầu hết đều sai.

July 17, 2017 Posted by Tô Hùng Dương
Mài sắc rìu rồi hãy hẵng chặt cây.

Bài viết này sẽ định hướng lại, giúp các bạn hình dung về cách chơi hackintosh sao cho đơn giản và chuyên nghiệp nhất. Hãy gạt bỏ những suy nghĩ và phương pháp mà trước giờ bạn thường sử dụng để đọc bài này.

Con đường chơi hackintosh của newbie Việt Nam hầu hết đều sai.

Để mình miêu tả con đường mà 100% newbie hình dung khi chơi hackintosh:
Bước 1) tìm hiểu tạo bộ cài.
Bước 2) tìm hiểu fix lỗi khi boot bộ cài
---- khi đã có thể cài vào được
Bước 3) tìm hiểu cài kext các kiểu cài lấy được để cho nó nhận cái đã.
Bước 4) thấy Mac dở ẹc (do cài không đến nơi đến trốn), mất thời gian tìm hiểu mà chả được như các tút viết bla bla....

Với kiểu bên trên bạn thường bỏ cuộc ở 2) hoặc 4) mình nói đúng chứ ?.
Kết quả là hàng tá ông sida, cài không nổi rồi lu loa trên các diễn đàn là hackintosh không bằng Mac thật, cà giật, không kext bla bla........

Tức là sao ?
Tức là bạn đi theo lối cái gì cảm thấy dễ thì làm trước, khó thì làm sau, thậm trí khó thì bỏ qua luôn.

Bây giờ mình sẽ dẫn bạn đi theo con đường đúng đắn nghe thì có vẻ căng khó nhưng lúc làm thì cực kì đơn giản:

Bước 1) patch DSDT/SSDT , chuẩn bị config và kext.
Bước 2) tạo usb cài với bộ cài chính thống lấy từ store.
Bước 3) cài với DSDT/SSDT, config, kext vừa chuẩn bị.
3.1) fix các lỗi quan sát được khi boot bộ cài với "đồ"" đã chuẩn bị.
Bước 4) hoàn thiện Mac sau cài.

Kinh nghiệm cài rất nhiều máy qua nhiều năm của mình là như vậy.
(Mình cài Mac dịch vụ tại TP.HCM, nhận cài qua team cho ae ngoại tỉnh link, mình trải qua nhiều phần cứng khác nhau, đó may mắn trở thành lợi thế của mình).


Tại sao 1) lại là "patch DSDT/SSDT , chuẩn bị config và kext."
Vì: Tất cả các thành phần trên đã OK -> thì boot bộ cài chắc chắn sẽ OK -> chắc chắn boot Mac cũng OK luôn.
Cụ thể:

- DSDT/SSDT là hoa tiêu chỉ đường cho Mac.Tương tự DSDT/SSDT chuẩn hoặc ít ra chuẩn những thành phần tối thiểu sẽ giúp tránh được hầu hết các lỗi khi boot usb cài Mac. (Hoa tiêu tốt không chỉ giúp con thuyền đi đúng lộ trình, đi với con đường ngắn nhất mà còn giúp con thuyền đi trên con đường an toàn nhất, tránh các dải đá ngầm, các khu vực thời tiết xấu.)
- DSDT/SSDT có thể boot bộ cài không gặp lỗi có nghĩa là nó cũng có thể boot Mac mà không gặp lỗi (vì bộ cài Mac thực chất là hệ điều hành Mac thu nhỏ mà).
- Kext là thành phần không thể thiếu, nó chính là trình điều khiển của phần cứng của bạn - những phần cứng mà apple không support sẵn.
- Nên cho tất cả các kext tương ứng với phần cứng của bạn và loại bỏ kext không liên quan.
- Config kết nối tất cả, nó chỉ cho bootloader (clover) biết bạn có những trình điều khiển thêm nào, có hoa thiêu chỉ đường như nào, bạn là máy Mac gì, bạn cần boot với bootflag gì v.v.....

Trong quá trình boot bộ cài chính là quá trình test toàn bộ đống đồ trên, nếu suôn sẻ thì có nghĩa bạn đã thành công 70% rồi.

* Rồi bây giờ sẽ có bạn sẽ nói rằng : "...em thấy bước patch DSDT/SSDT khó quá, em chả biết làm, em thấy làm theo cách cũ thì bước nào dễ làm trước khó làm sau dễ hơn..."

Trả lời:
Việc Patch DSDT/SSDT theo phương pháp nào đi nữa cũng là điều bắt buộc nếu em muốn có hệ thống Hackintosh đạt mức hiệu suất tương đương real Mac cùng cấu hình, cũng như đảm bảo tính ổn định bền bỉ trong quá trình sử dụng Mac.

Vậy muốn hệ thống hoàn thiện, dù theo cách nào thì em cũng không trốn được việc patch DSDT/SSDT.

Tại sao 2) tạo usb cài lại phải dùng "bộ cài chính thống lấy từ store".

- Bộ cài trôi nổi (reup, leakling, getlink v.v.v.....) tiềm ẩn nguy cơ lỗi bộ cài, lỗi Mac được cài từ bộ cài trôi nổi. Không có bất kì nguồn nào có bộ cài sạch hơn Store. Bộ cài tải về chuẩn bạn sẽ loại bỏ được tất cả các nghi vấn lỗi do bộ cài khi cài và khi dùng Mac sau này.

Nghe có vẻ vô lý nhưng sự thực là vậy, mình support và quan sát thấy nếu mem tải bộ cài từ link reup (fshare, gdriver ...) mà còn chơi getlink nữa thì bộ cài tải về tiềm ẩn nguy cơ lỗi khi boot bộ cài, lỗi khi đang cài tự nhiên lỗi package, Mac cài được từ những bộ cài kiểu này cũng tiềm ẩn nguy cơ lỗi khi sử dụng. Mình từng gặp trường hợp tải từ bộ cài trôi nổi thì bị lỗi khi đang dùng thì bị panic sập nguồn khởi động lại, đang dùng bị mất âm thanh... nhưng cài lại bằng bộ cài chính thống từ store thì sạch bệnh.

Bạn tải theo bộ cài chuẩn chính thống, bạn không phải lăn tăn về lỗi có phải do bộ cài không, không lăn tăn khi nào sẽ phát sinh lỗi, lỗi đó có gián đoạn công việc đang làm. Đặc biệt khi máy cài để dùng làm việc thì càng cần độ ổn định cao.

Ngay cả khi đã cẩn thận ở 1) và 2), khi boot vẫn có thể bị kẹt, bị lỗi, lúc này sẽ quay lại bước 1) check và apply patch phù hợp, thay kext phù hợp, sửa config cho phù hợp. Mục tiêu đầu tiên là phải pass bộ cài với những gì đã làm ở 1) và 2).


Hoàn thiện sau cài làm như nào:

- copy clover vào EFI
- cài kext vào SLE
- tiếp tục update patch và kext để hoàn thiện nốt 30% còn lại.

Tiêu chí chơi Hackintosh là hạn chế patch kext, hạn chế cài kext vào SLE - giữ Mac càng nguyên bản càng tốt.
Hầu như Mac mình cài cho khách, hi hữu lắm thì sẽ cài thêm kext cho âm thanh,  còn lại tất cả các kext của hackintosh cái đều nằm ở CLover.

Các lỗi còn lại thường là lỗi không cho tải app từ store, lỗi về sleep, patch cổng USB, patch chỉnh độ sáng, patch tắt vga rời (nếu lap có optimus/switch Graphics), tìm kiếm kext bàn phím/touchpad phù hợp... thường là những lỗi có thể chấp nhận tạm rồi fix dần dần.

Bước 1), 2) 3) bạn đã làm việc hết sức mình, rất vất vả, giờ đây là lúc nhàn hơn cả, tới đây có thể túc tắc fix các lỗi nếu như bạn không vội.


Phần 2: Hackintosh hình dung trước rồi hãy bước.
Mọi thảo luận, giải đáp thắc mắc đều có tại Group Hội Dev thích Moè : https://www.facebook.com/groups/DevThichMoe