You are currently viewing UniXNU đưa iOS và macOS lên phần cứng ARM64 không phải của Apple qua UEFI

UniXNU đưa iOS và macOS lên phần cứng ARM64 không phải của Apple qua UEFI

Chạy macOS trên máy không phải MacBook là chuyện hackintosh quen thuộc với dân x86. Nhưng với ARM64 thì khác hẳn: XNU yêu cầu page size 16 KiB, trong khi phần lớn thiết bị ARM64 ngoài hệ sinh thái Apple lại chạy 4 KiB. UniXNU giải quyết đúng bài toán đó.

Repo này làm gì

UniXNU là một dự án độc lập nhằm chạy iOS và macOS trên phần cứng ARM64 không do Apple sản xuất, đi qua UEFI. Nó không phải giả lập. Nó dựng một chuỗi boot thật: firmware UEFI nạp một boot manager, boot manager nạp kernel XNU đã được patch, rồi XNU chạy trên phần cứng thật.

Phần lõi kỹ thuật là các patch “4 KiB XNU page”. Kernel XNU mặc định giả định page size 16 KiB, nên muốn chạy trên thiết bị ARM64 thông thường thì phải patch lại kernel để chấp nhận page 4 KiB. Đây là lý do nhiều dự án tương tự chết yểu: patch sai một chỗ là kernel panic ngay lúc boot, không có log gì hữu ích.

Repo chính đóng vai trò build driver (hệ thống build), UEFI boot manager, cùng các module con và patch. Nó không tự chứa driver cho từng máy. Driver và kit nằm ở các repo công khai riêng trong cùng organization, được kéo vào dưới dạng submodule.

Hiện tại dự án có ba repo liên quan:

  • UniXNU: build driver, UEFI boot manager, module submodule và patch
  • UniXNU-sheng: repo thiết bị cho Xiaomi Pad 6S Pro
  • uefi-sheng: bản port firmware UEFI cho Xiaomi Pad 6S Pro

Cách tổ chức này khá gọn. Repo thiết bị dùng cùng layout với repo chính, module trùng tên sẽ override module gốc, còn thư mục package/ của nó trở thành một kit trong build tree. Nói cách khác, muốn port sang máy mới thì bạn tạo repo thiết bị theo đúng khuôn đó, không cần sửa lung tung trong repo lõi.

Vì sao nó đang được chú ý

Repo mới tạo ngày 19/10/2026 và đến 22/10 đã có 551 sao. Ba ngày, 551 sao, với một dự án đụng tới boot chain và kernel patch. Con số đó nói lên nhu cầu thật: dân dev phần cứng ARM64 vẫn thiếu một con đường chạy hệ sinh thái Apple mà không phải mua thiết bị Apple.

Điểm khác biệt nằm ở chỗ dự án không dừng ở mức “boot được kernel”. README có dòng tin: driver GPU Metal native đã chạy hoàn chỉnh trên Xiaomi Pad 6S Pro (tên mã sheng). Render server composite UI hệ thống qua Adreno 740, và các process được liệt kê có Metal device riêng. Đây là chi tiết đáng giá, vì boot được kernel mà không có GPU acceleration thì gần như vô dụng cho công việc thực tế. Có Metal trên Adreno 740 nghĩa là UI hệ thống đã vẽ bằng GPU thật.

Cũng cần nói thẳng: 551 sao chưa phải con số lớn, và repo mới 3 ngày tuổi. Đừng kỳ vọng nó chín như một distro. Nhưng hướng đi thì rõ ràng và có bằng chứng chạy được trên ít nhất một thiết bị cụ thể.

Cài đặt và dùng thử nhanh

Repo dùng submodule, nên clone thiếu cờ là thiếu module. Lệnh từ README:

git clone --recurse-submodules https://github.com/UniXNU/UniXNU.git

Nếu đã clone rồi mới nhớ ra, chạy:

git submodule update --init --recursive

Tài liệu nằm ở unixnu.com, chia theo đúng các bước bạn cần: Overview, Build, Boot the image, Debugging and logs, Porting, Drivers, XNU and 4 KiB pages, Devices. Muốn đi từ đầu thì đọc theo thứ tự đó. Riêng mục “XNU and 4 KiB pages” nên đọc trước khi đụng vào kernel patch, vì sai ở đây là mất thời gian debug mò.

Một lưu ý bắt buộc: không được đưa file Apple IPSW, kernelcache, disk image, trust cache, Data seed hay firmware của vendor vào repo. README ghi rõ phải giữ chúng trong cache local hoặc storage ngoài. Việc này ảnh hưởng trực tiếp đến quy trình build của bạn: bạn cần tự chuẩn bị các blob đó ở máy mình trước khi build.

Ai nên dùng

Đối tượng thật của dự án là người port thiết bị và viết driver. Bạn có một tablet hoặc board ARM64 chạy UEFI, bạn chấp nhận đọc tài liệu boot chain, và bạn muốn thử đưa XNU lên đó. Repo thiết bị mẫu cho Xiaomi Pad 6S Pro là bản tham chiếu tốt nhất để bắt chước layout.

Nhóm thứ hai là người làm driver. Các kit và driver là repo riêng, public. Nếu bạn từng viết driver cho Linux hoặc hiểu Adreno, đây là chỗ để thử viết driver Metal cho một GPU không phải của Apple. Case Adreno 740 cho thấy việc đó khả thi.

Nhóm thứ ba, và tôi nghĩ đông nhất: dev tò mò muốn xem XNU chạy trên phần cứng lạ. Nhóm này nên đọc tài liệu trước, đừng vội flash máy chính.

Không dành cho người muốn cài macOS lên laptop ARM64 để dùng hàng ngày. Dự án chưa ở mức đó.

So với các lựa chọn khác

Tôi không đủ chắc để so sánh chi tiết với các dự án hackintosh ARM64 khác, vì phần lớn trong số đó không công khai đầy đủ boot chain và patch kernel như ở đây. Điểm tôi chắc chắn: việc tài liệu hóa riêng mục 4 KiB page patch, boot argument và ghi chú theo từng thiết bị là cách làm minh bạch hơn mức thường thấy ở các dự án kiểu này. Còn về độ ổn định thì chưa có gì để so.

Ưu điểm và hạn chế

Ưu điểm rõ nhất là cấu trúc module hóa. Repo lõi, repo thiết bị, repo firmware tách riêng, override theo tên. Muốn port máy mới thì thêm repo, không phải fork cả cây. Tài liệu có mục riêng cho porting và driver development, không phải chỉ một file README chung chung.

Thứ hai là bằng chứng chạy thật. Metal driver hoạt động trên Adreno 740 của Xiaomi Pad 6S Pro, kèm tài liệu driver riêng. Nhiều dự án cùng loại dừng ở ảnh chụp màn hình boot logo.

Hạn chế thì nhiều. Dự án mới 3 ngày tuổi, tính đến lần cập nhật 22/10/2026. Số thiết bị được hỗ trợ chính thức trong README chỉ có một: Xiaomi Pad 6S Pro. License ghi là BSD-2-Clause-Patent trong README, nhưng phần metadata repo lại để “không rõ”, nên nếu bạn định dùng cho mục đích thương mại thì nên mở file LICENSE ra đọc trực tiếp thay vì tin metadata.

Về blob Apple: bạn phải tự lo. Dự án không cung cấp và cấm đưa vào repo. Đây là rào cản pháp lý và kỹ thuật mà bất kỳ ai làm theo cũng gặp.

Cuối cùng, cộng đồng còn nhỏ. 551 sao nghĩa là ít người đã thử, ít issue đã được giải. Gặp lỗi lạ thì phần lớn bạn phải tự đọc log và tự sửa.

Kết luận

UniXNU là dự án đáng để clone về đọc, nhất là nếu bạn quan tâm boot chain UEFI hoặc patch kernel XNU cho page 4 KiB. Ba ngày được 551 sao và đã có Metal chạy trên Adreno 740 là tín hiệu tốt, nhưng đây vẫn là đồ nghề cho người kiên nhẫn, không phải giải pháp cài một lần là xong. Repo ở đây: UniXNU/UniXNU.

Chia sẻ bài này

TelegramXFacebookZalo
Đăng ngày 22/10/2026
Giang Na
Về tác giả: Giang Na
Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.

Giang Na

Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.