I'M Keven Feil

Graphic Designer . Web Developer . Photographer

About Me

Hello

I'mKeven Doe

Developer and Startup entrepreneur

I am Keven Doe. Web scholar. Introvert. Explorer. Hardcore thinker. Devoted social media fan. Wannabe reader.

If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text making it over 2000 years old.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.

Fusce quis volutpat porta, ut tincidunt eros est nec diam erat quis volutpat porta, neque massa, ut tincidunt eros est nec diam FusceFusce quis volutpat portaFusce quis volutpat

Web Dedign

UX/UI Dedign

Wordpress

Javascript

What I do?

Graphic

Lorem ipsum dolor sit amet, augue theophrastus ex.

Photography

Lorem ipsum dolor sit amet, augue theophrastus ex.

Development

Lorem ipsum dolor sit amet, augue theophrastus ex.

Responsive

Lorem ipsum dolor sit amet, augue theophrastus ex.

Wordpress

Lorem ipsum dolor sit amet, augue theophrastus ex.

Javascript

Lorem ipsum dolor sit amet, augue theophrastus ex.

My Experience

Apple Inc.

2015-Today

Art & Creative director

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Facebook Inc.

2012-2015

Web designer & developer

Lorem ipsum dolor sit amet, sit augue theophrastus ex. Nec ne dicam impedit perpetua, legimus fierent molestiae ei nec. Eum ei adhuc meliore pericula.At agam omittam accumsan mel.

IBM Inc.

2011-2012

Mid-level designer

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

My Latest Projects

Phần 3: Hackintosh patch dsdt một khái niệm đễ hiểu "nhầm".

MacIasl Công cụ patch DSDT quen thuộc.
 Bạn không cần phải căng não ra cố gắng patch DSDT như  kiểu cũ của các bài hướng dẫn khác. Hãy chú ý đọc kỹ những gì mình nói trong bài này bởi vì đây là tiền đề giúp bạn hiểu những bài viết sau này.
Trước khi bắt đầu, hãy chắc chắn rằng bạn đã đọc : Phần 2: Hackintosh hình dung trước rồi hãy bước.

*Bạn có thể thấy hầu hết các bài hướng dẫn hiện nay copy đi copy lại nội dung của nhau. Hướng dẫn bạn phải tải cái phần mềm này, phần mềm kia về chạy và patch - không rối trí sao được?

Nay mình sẽ chỉ bạn cách làm khác có thao tác đơn giản hơn, dễ chỉnh sửa và dễ chỉnh sửa lâu dài nhưng đem lại hiệu quả tương đương.

1) Patch DSDT bản chất là gì?
Patch DSDT mang hàm nghĩa là chỉnh sửa file DSDT/SSDT.

2) Patch DSDT nhằm mục đích gì ?
Chỉnh sửa DSDT/SSDT sao cho nó giống với DSDT/SSDT của Real Mac, giúp cho Mac có thể hiểu và sử dụng được phần cứng.

3) Các thao tác khi patch DSDT là gì?
Thêm / Sửa / Xóa nội dung file DSDT/SSDT.

4) Nếu không patch vào file DSDT thì có cách nào tương đương ?
Có nhiều cách tương đương, hiệu quả của nó cũng tương đương. Mình sẽ nói dần dần.

5) Có thể dùng chung đồ đã patch DSDT cho nhiều máy khác nhau không?
Patch kiểu truyền thống thì không nhưng Có thể nếu làm theo cách ở mục 4).

Hãy nói về Patch file DSDT.

Patch nghe có vẻ gì đó khó vào đầu, bạn hiểu đơn giản đi, patch tức là chỉnh sửa  file.

Mình sẽ chia Patch DSDT ra thành  2 kiểu thao tác cơ bản là Find and Replace và Inject.
* kiểu tức là bạn sẽ phải làm cả 2 chứ không phải chỉ cần làm 1 trong 2.

Find and Replace 

+ Find and Replace là các patch  tìm kiếm và thay thế hoàn toàn một cụm string bằng một cụm string khác (có thể là string rỗng).
+ Find and Replace là patch thường được dùng cho fix lỗi sau khi dịch file .aml ra dsl, thường được dùng cho Các patch System và patch pin (đối với laptop).
+ Find and Replace thường được áp dụng cho DSDT.

Inject

+ Inject là các patch thêm thông tin cho Device, hoặc thêm nguyên 1 Device vào DSDT/SSDT. Các patch có chứa method _DSM là điển hình, patch IMEI, LPC v.v... cũng liệt vào danh sách này.
+ Inject có thể dùng để Fake ID của Device, Mac nhận diện và điều khiển Device theo ID, inject cho IntelHD là ví dụ điển hình.

Phương pháp tương đương.

Bạn hãy hiểu rằng Patch sẽ làm thay đổi nội dung của DSDT khi nạp lúc boot.
Clover cho phép bạn chỉnh sửa DSDT/SSDT thông qua file config thay vì patch trực tiếp vào Clover.

Chức năng ACPI to Patch của Clover có thể thay thế tương đối cho Find And Replace.

Chức năng ACPI to Patch của Clover.
Chức năng Add Properties và Arbrinary  có thể dùng để Inject device.

Chức năng Add Properties và Arbrinary của Clover.

Nếu không có Mac thì dùng Clound Clover Editor:
Clound Clover Editor truy cập bằng web, dùng cho mọi hệ điều hành.
Mình thường dùng các chức năng trên để patch, nó rất đơn giản khi chỉnh sửa (edit file config.plist bằng notepad luôn được), ngoài ra còn các chức năng khác nhưng tạm chưa nói đến ngay.

Tạm thời bạn không cần phải lo fix lỗi DSDT để Apply Patch như cách truyền thống nữa. Cụ thể sẽ áp dụng Find and Replace và Inject cho các thành phần phần cứng ra sao mình sẽ viết tiếp trong phần sau.

*Mình nhắc cho bạn nhớ, tính tới guide này, bạn vẫn không cần đến môi trường Mac OS để làm việc. Ngoài Clound Clover Editor ra sẽ dùng những công cụ gì thì phần sau mình sẽ nói dần dần.

Phần 4: Hackintosh thực hành patch DSDT cổng USB

Nếu bạn mong chờ bài viết tiếp theo hãy mạnh dạn comment ý kiến cuối bài.

Phần 2: Hackintosh hình dung trước rồi hãy bước.

DSDT & SSDT là trò chơi xếp hình.

Để bắt đầu bước chân vào thế giới hackintosh bạn hãy tìm hiểu về việc làm sao để phần mềm có thể điều khiển được phần cứng. Bạn hãy hình dung được cơ chế hoạt động của nó trước và sẽ tìm cách hiểu về nó bằng thực hành.

Trước khi bắt đầu, hãy chắc chắn rằng bạn đã đọc Phần 1: Cách Hackintosh của newbie hầu hết đều sai.

DSDT là gì vậy ?

Trong phần cứng máy tính, Motherboard (hay còn gọi là Mainboard) là thiết bị giữ chức năng gắn kết tất cả các thành phần phần cứng. Khi làm việc với hệ điều hành, DSDT chính là cuốn hướng dẫn sử dụng của Motherboard.
DSDT & SSDT giống như sách hướng dẫn sử dụng.
DSDT viết tắt của : Differentiated System Description Table.
DSDT là một bản ghi được lập trình bằng ACPI (Advanced Configuration and Power Interface)
DSDT chứa các giao thức giúp cho hệ điều hành có thể nhận điện, điều khiển, kiểm tra và giám sát trạng thái các thành phần phần cứng .  

In a computer, the Advanced Configuration and Power Interface (ACPI) provides an open standard that operating systems can use to discover and configure computer hardware components, to perform power management by (for example) putting unused components to sleep, and to perform status monitoring. wiki

DSDT là bộ mặt (theo nghĩa phần mềm) của Motherboard.
Mỗi model Motherboard sẽ có một DSDT riêng. 
Ngược lại nếu DSDT tương tự nhau có nghĩa là sẽ có các thành phần phần cứng giống hoặc tương tự nhau.

Nhấn mạnh rằng RealMac cũng có DSDT như bao hệ thống Máy tính mà bạn đang dùng để chạy Windows hàng ngày vậy.

Còn SSDT thì sao ?

SSDT là bảng phụ của DSDT, nó sẽ được gộp vào DSDT khi nạp vào hệ điều hành.  

SSDT viết tắt của Secondary System Description Table.
SSDT cũng có các tính chất của DSDT.
SSDT khác DSDT ở chỗ là nó không dành cho tổng thể Motherboard, nó chứa đựng giao thức về thành phần phần cứng cụ thể trên motherboard.

SSDT thường chứa các giao thức về CPU, GPU, port USB, hệ thống cảm biến, SATA...

Nguyên nhân sinh ra SSDT ?

Để dễ dàng tái sử dụng code ACPI khi sản xuất hàng loạt model Motherboard có cùng kiến trúc phần cứng. Cụ thể như sau:

Danh sách các dòng Motherboard dùng chipset 200 series của MSI 
Về phần cứng mỗi dòng MotherBoard trên đều có sự giống nhau về chipset (dòng Z270 sẽ dùng chipset Z270, dòng H270 sẽ dùng chipset H270... tương tự các dòng khác).
Chẳng hạn nếu cùng một phân khúc, các dòng main này khác nhau 10%  thì có thể tái sử dụng DSDT cho 90%  giống nhau, sự khác nhau còn lại dành  cho SSDT.
Giống như chơi xếp hình, bạn muốn lấy miếng lego màu đỏ cho dòng Motherboad M7 và màu xanh cho M5. Chỉ cần lấy DSDT chung, rồi Motherboard nào thì nạp SSDT theo thành phần của Motherboard đó.

Làm sao để trích suất DSDT & SSDT ?

Hackintosh thì dùng Clover Bootloader, vậy hãy trích suất DSDT & SSDT bằng Clover là chuẩn nhất.

Chuẩn bị 1 USB có dung lượng 128MegaByte trở lên.
Format USB với định dạng FAT32.

Bước 1: Tải về Package.
Bước 2: Giải nén thu được thư mục EFI
Bước 3: Copy thư mục EFI vào USB.
Bước 4: Khởi động lại, vào menuboot lúc khởi động chọn USB UEFI
Bước 5: Clover hiện lên, ấn F2 chờ 20s, ấn tiếp F4 chờ 20s, ấn tiếp F6 chờ 20s
Bước 6: Ấn nút nguồn để tắt máy, rút usb khi tắt máy xong.
Bước 7: Lúc này DSDT & SSDT gốc của máy bạn đang nằm ở USB/EFI/Clover/ACPI/Origin.

* Chú ý
+ trong BIOS phải disable Secureboot.
Một số máy nhất là acer yêu cầu phải tạo pass admin trong BIOS mới cho disable Secureboot.
+ trong BIOS phải enable UEFI.
Với desktop thì trong bios chỉnh lại chọn boot với OtherOS.
Với laptop thì nên để chế độ boot UEFI và enable CSM.

Khi đã có được DSDT & SSDT gốc rồi, tới Phần 3, mình sẽ nói về cách chế biến DSDT & SSDT theo cách dễ nhất.

Mời các bạn đón đọc.

Phần 3: Hackintosh patch dsdt một khái niệm đễ hiểu "nhầm"
Nếu bạn mong chờ bài viết tiếp theo hãy mạnh dạn comment ý kiến cuối bài.

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

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.

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.
Nếu bạn mong chờ bài viết tiếp theo hãy mạnh dạn comment ý kiến cuối bài.

What clients say

Start Work With Me

Contact Us

JOHN DOE
+123-456-789
Melbourne, Australia