README.md
นี้บันทึกกระบวนการสร้างระบบ Virtual Hackintosh
หมายเหตุ: blobs และทรัพยากรทั้งหมดที่รวมอยู่ในที่เก็บนี้สามารถสืบทอดได้อีกครั้ง (รวมคำแนะนำทั้งหมดไว้ด้วย!)
กำลังมองหาการสนับสนุน ทางการค้า เกี่ยวกับสิ่งนี้อยู่ใช่ไหม? ฉันสามารถติดต่อได้ทางอีเมลสำหรับการแชทสำหรับ ตัวเลือกการสนับสนุนเชิงพาณิชย์เท่านั้น หมายเหตุ: ผู้สนับสนุนโครงการสามารถเข้าถึงพื้นที่เก็บข้อมูล Private OSX-KVM
และการสนับสนุนโดยตรง
กำลังดิ้นรนกับ Content Caching
ใช่ไหม เราสามารถช่วยได้
ทำงานกับ Proxmox
และ macOS ใช่ไหม ดูบล็อกของ Nick อย่างแน่นอน
ใช่ เรารองรับการติดตั้ง macOS ออฟไลน์แล้ว - ดูเอกสารนี้ ?
โครงการนี้สามารถให้ความช่วยเหลือ เวลา และความสนใจของคุณได้ตลอดเวลา ฉันกำลังมองหาความช่วยเหลือ (pull-requests!) กับรายการงานต่อไปนี้:
เอกสารเกี่ยวกับการเรียกใช้ macOS บนผู้ให้บริการคลาวด์ยอดนิยม (Hetzner, GCP, AWS) ดู Is This Legal?
ส่วนและข้อมูลอ้างอิงที่เกี่ยวข้อง
บันทึก (แบ่งปัน) วิธีที่คุณใช้โปรเจ็กต์นี้เพื่อสร้าง + ทดสอบโปรเจ็กต์โอเพ่นซอร์ส / ทำงานของคุณให้เสร็จสิ้น
บันทึกวิธีใช้โปรเจ็กต์นี้สำหรับการดีบักและการพัฒนาเคอร์เนล XNU
บันทึกกระบวนการเพื่อเปิดใช้ macOS VM ที่ไม่มีส่วนหัวจำนวนมาก (บิลด์ฟาร์ม)
การใช้เอกสารของ munki เพื่อปรับใช้ซอฟต์แวร์กับ build farm
เปิดใช้งานการสนับสนุน VNC + SSH ทันทีหรือง่ายกว่านั้น
ยินดีต้อนรับการปรับปรุงความแข็งแกร่งเสมอ!
(ไม่เช่นนั้น) แนวคิดบ้าๆ - ทำการติดตั้ง macOS โดยอัตโนมัติผ่าน OpenCV
การกระจาย Linux ที่ทันสมัย เช่น Ubuntu 24.04 LTS 64 บิตหรือใหม่กว่า
QEMU >= 8.2.2
จำเป็นต้องมี CPU ที่รองรับ Intel VT-x / AMD SVM ( grep -e vmx -e svm /proc/cpuinfo
)
ต้องใช้ CPU ที่รองรับ SSE4.1 สำหรับ >= macOS Sierra
ต้องใช้ CPU ที่รองรับ AVX2 สำหรับ >= macOS Ventura
หมายเหตุ: ทราบกันว่า CPU AMD รุ่นเก่ามีปัญหา แต่โปรเซสเซอร์ AMD Ryzen สมัยใหม่ทำงานได้ดี (แม้แต่สำหรับ macOS Sonoma)
ติดตั้ง QEMU และแพ็คเกจอื่น ๆ
sudo apt-get install qemu-system uml-utilities virt-manager git
wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr
tesseract-ocr-eng genisoimage vim net-tools screen -y
ขั้นตอนนี้อาจจำเป็นต้องปรับให้เข้ากับการแจกจ่าย Linux ของคุณ
โคลนที่เก็บนี้บนระบบ QEMU ของคุณ ไฟล์จากที่เก็บนี้จะถูกใช้ในขั้นตอนต่อไปนี้
cd ~
git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
สามารถดึงการอัพเดตที่เก็บได้โดยใช้คำสั่งต่อไปนี้:
git pull --rebase
พื้นที่เก็บข้อมูลนี้ใช้เวิร์กโฟลว์แบบรีเบสอย่างมาก
KVM อาจต้องมีการปรับแต่งต่อไปนี้บนเครื่องโฮสต์จึงจะทำงานได้
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
หากต้องการทำการเปลี่ยนแปลงนี้อย่างถาวร คุณสามารถใช้คำสั่งต่อไปนี้
sudo cp kvm.conf /etc/modprobe.d/kvm.conf # for intel boxes only
sudo cp kvm_amd.conf /etc/modprobe.d/kvm.conf # for amd boxes only
เพิ่มผู้ใช้ในกลุ่ม kvm
และ libvirt
(อาจจำเป็น)
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
หมายเหตุ: เข้าสู่ระบบอีกครั้งหลังจากดำเนินการคำสั่งนี้
ดึงข้อมูลตัวติดตั้ง macOS
./fetch-macOS-v2.py
คุณสามารถเลือกเวอร์ชัน macOS ที่คุณต้องการได้ที่นี่ หลังจากดำเนินการขั้นตอนนี้ คุณควรมีไฟล์ BaseSystem.dmg
อยู่ในโฟลเดอร์ปัจจุบัน
โปรดทราบ: ให้ >= Big Sur
นั่งอยู่ที่หน้าจอ Country Selection
และที่อื่นๆ ที่คล้ายกันสักพักหากทุกอย่างดำเนินไปอย่างช้าๆ วิซาร์ดการตั้งค่า macOS เริ่มต้นจะประสบความสำเร็จในที่สุด
ตัวอย่างการทำงาน:
$ ./fetch-macOS-v2.py
1. High Sierra (10.13)
2. Mojave (10.14)
3. Catalina (10.15)
4. Big Sur (11.7)
5. Monterey (12.6)
6. Ventura (13) - RECOMMENDED
7. Sonoma (14)
8. Sequoia (15)
Choose a product to download (1-8): 6
หมายเหตุ: NVIDIA GPU สมัยใหม่ได้รับการรองรับบน HighSierra แต่ไม่รองรับบน macOS เวอร์ชันใหม่กว่า
แปลงไฟล์ BaseSystem.dmg
ที่ดาวน์โหลดมาเป็นไฟล์ BaseSystem.img
dmg2img -i BaseSystem.dmg BaseSystem.img
สร้างอิมเมจ HDD เสมือนที่จะติดตั้ง macOS หากคุณเปลี่ยนชื่อของดิสก์อิมเมจจาก mac_hdd_ng.img
เป็นอย่างอื่น สคริปต์การบูตจะต้องได้รับการอัปเดตเพื่อให้ชี้ไปที่ชื่อรูปภาพใหม่
qemu-img create -f qcow2 mac_hdd_ng.img 256G
หมายเหตุ: สร้างไฟล์อิมเมจ HDD นี้บนดิสก์ SSD/NVMe ที่รวดเร็วเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด
ตอนนี้คุณพร้อมที่จะติดตั้ง macOS แล้ว
วิธี CLI (หลัก) เพียงเรียกใช้สคริปต์ OpenCore-Boot.sh
เพื่อเริ่มกระบวนการติดตั้ง
./OpenCore-Boot.sh
หมายเหตุ: สคริปต์เดียวกันนี้ใช้ได้กับ macOS เวอร์ชันล่าสุดทั้งหมด
ใช้เครื่องมือ Disk Utility
ภายในตัวติดตั้ง macOS เพื่อแบ่งพาร์ติชัน และฟอร์แมตดิสก์เสมือนที่แนบกับ macOS VM ใช้ APFS
(ค่าเริ่มต้น) สำหรับ macOS เวอร์ชันใหม่
ไปข้างหน้าและติดตั้ง macOS ?
(ไม่บังคับ) ใช้ดิสก์ macOS VM นี้กับ libvirt (เนื้อหา virt-manager / virsh)
แก้ไขไฟล์ macOS-libvirt-Catalina.xml
และเปลี่ยนเส้นทางไฟล์ต่างๆ (ค้นหาสตริง CHANGEME
ในไฟล์นั้น) คำสั่งต่อไปนี้ควรทำเคล็ดลับตามปกติ
sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
virt-xml-validate macOS.xml
สร้าง VM โดยการรันคำสั่งต่อไปนี้
virsh --connect qemu:///system define macOS.xml
หากจำเป็น ให้อนุญาตที่จำเป็นแก่ผู้ใช้ libvirt-qemu
sudo setfacl -m u:libvirt-qemu:rx /home/$USER
sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM
เปิดตัว virt-manager
และเริ่มเครื่องเสมือน macOS
ใช้สคริปต์ boot-macOS-headless.sh ที่ให้มา
./boot-macOS-headless.sh
ทำได้ดีมากในการตั้งค่าระบบ Virtual Hackintosh
! ระบบดังกล่าวสามารถใช้เพื่อวัตถุประสงค์ที่หลากหลาย (เช่น การสร้างซอฟต์แวร์ การทดสอบ การย้อนกลับ) และอาจเป็นสิ่งที่คุณต้องการ พร้อมด้วยการปรับแต่งบางอย่างที่บันทึกไว้ในที่เก็บข้อมูลนี้
อย่างไรก็ตาม ระบบดังกล่าวขาดการเร่งความเร็วกราฟิก ระบบย่อยเสียงที่เชื่อถือได้ ฟังก์ชัน USB 3 และสิ่งอื่นที่คล้ายคลึงกัน หากต้องการเปิดใช้งานสิ่งเหล่านี้ โปรดดูบันทึกย่อของเรา เราต้องการดำเนินการทดสอบและจัดทำเอกสารของเราต่อในส่วนนี้ โปรดติดต่อเราหากคุณสามารถให้ทุนสนับสนุนการทำงานในส่วนนี้ได้
เป็นไปได้ที่จะมีประสิทธิภาพ 'เหนือธรรมชาติ-apple-hw' แต่ต้องใช้การทำงาน ความอดทน และโชคเล็กน้อย (อาจจะ?)
ดูหมายเหตุด้านเครือข่ายเกี่ยวกับวิธีการตั้งค่าเครือข่ายใน VM ขาออกและขาเข้าสำหรับการเข้าถึง VM ของคุณจากระยะไกลผ่าน SSH, VNC ฯลฯ
หากต้องการส่งผ่าน GPU และอุปกรณ์อื่นๆ โปรดดูหมายเหตุเหล่านี้
ต้องการความละเอียดอื่นหรือไม่? ตรวจสอบบันทึกย่อที่รวมอยู่ในที่เก็บนี้
มีปัญหากับ iMessage ใช่ไหม? ตรวจสอบบันทึกย่อที่รวมอยู่ในที่เก็บนี้
การปรับแต่ง macOS ที่แนะนำเป็นอย่างยิ่ง - https://github.com/sickcodes/osx-optimizer
สตริง Apple OSK "ลับ" มีอยู่ทั่วไปบนอินเทอร์เน็ต นอกจากนี้ยังรวมอยู่ในเอกสารของศาลสาธารณะซึ่งมีอยู่ที่นี่ ฉันไม่ใช่ทนายความ แต่ดูเหมือนว่าความพยายามของ Apple ที่จะทำให้สตริง OSK ถือเป็นความลับทางการค้าไม่ได้ผล ด้วยเหตุผลเหล่านี้ สตริง OSK จึงถูกรวมไว้ในที่เก็บนี้โดยอิสระ
โปรดตรวจสอบบิตเอกสาร 'ความถูกต้องตามกฎหมายของการแฮ็กอินทอชชิง' จากคู่มือการติดตั้ง OpenCore ของ Dortania
Gabriel Somlo ยังมีความคิดบางประการเกี่ยวกับแง่มุมทางกฎหมายที่เกี่ยวข้องกับการใช้งาน macOS ภายใต้ QEMU/KVM
คุณอาจพบว่าบทความ 'การประกาศอินสแตนซ์ Amazon EC2 Mac สำหรับ macOS' นี้น่าสนใจ
หมายเหตุ: เป็นความรับผิดชอบของคุณที่จะต้องทำความเข้าใจและยอมรับ (หรือไม่ยอมรับ) Apple EULA
หมายเหตุ: นี่ไม่ใช่คำแนะนำทางกฎหมาย ดังนั้นโปรดประเมินตัวเองอย่างเหมาะสมและปรึกษากับทนายความของคุณหากคุณมีข้อกังวลใดๆ (เครดิตข้อความ: Dortania)
เป้าหมายของฉันคือการเปิดใช้งานงานด้านการศึกษาที่ใช้ macOS การสร้าง + การทดสอบ การดีบักเคอร์เนล การย้อนกลับ และการวิจัยความปลอดภัยของ macOS ในลักษณะที่ง่ายและทำซ้ำได้ โดยไม่ได้รับ 'การลงทุน' ในระบบนิเวศแบบปิดของ Apple (หนักเกินไป)
ระบบ Virtual Hackintosh
เหล่านี้ไม่ได้มีวัตถุประสงค์เพื่อแทนที่ระบบ macOS จริงของแท้
โดยส่วนตัวแล้ว พื้นที่เก็บข้อมูลนี้เป็นช่องทางสำหรับฉันที่จะ 'ออกจาก' ระบบนิเวศของ Apple ช่วยให้ฉันทดสอบและเปรียบเทียบการทำงานร่วมกันของเครื่องสแกนเนอร์ Canon CanoScan LiDE 120
และเครื่องพิมพ์เลเซอร์ Brother HL-2250DN
ได้ และตอนนี้อุปกรณ์เหล่านี้ทำงานได้ดีเพียงพอกับ Ubuntu เวอร์ชันใหม่ (ใช่แล้วสำหรับซอฟต์แวร์ฟรี) นอกจากนี้ ย้อนกลับไปนานมาแล้ว ฉันต้องล้าง MacBook Pro (Retina, 15-inch, Late 2013)
อย่างสมบูรณ์ และติดตั้ง Xubuntu ลงไป - เนื่องจากเคอร์เนล OS X
ยังคงทำงานขัดข้อง!
เรื่องราวเบื้องหลัง: ชาติก่อนฉันเป็นนักเรียน (ยากจน) ในแคนาดา และ Apple ทำให้งานของฉันในการถอดรหัสพวงกุญแจ Apple ยากเกินกว่าที่จำเป็นมาก นี่คือสาเหตุที่ทำให้ฉันสนใจระบบ Hackintosh