이 README.md
Virtual Hackintosh
시스템을 만드는 과정이 기록되어 있습니다.
참고: 이 저장소에 포함된 모든 Blob과 리소스는 다시 파생 가능합니다(모든 지침이 포함되어 있습니다!).
이 물건에 대한 상업적 지원을 찾고 계십니까? 상업적인 지원 옵션에 대해서만 이메일을 통해 채팅을 할 수 있습니다. 참고: 프로젝트 후원자는 Private OSX-KVM
저장소에 액세스하고 직접적인 지원을 받을 수 있습니다.
Content Caching
문제로 어려움을 겪고 계십니까? 우리가 도와드릴 수 있습니다.
Proxmox
와 macOS를 사용하시나요? Nick의 블로그를 확인해 보세요.
예, 이제 오프라인 macOS 설치를 지원합니다. 이 문서를 참조하세요.
이 프로젝트에는 항상 여러분의 도움, 시간 및 관심이 필요합니다. 다음 작업 항목에 대한 도움(풀 요청!)을 찾고 있습니다.
널리 사용되는 클라우드 제공업체(Hetzner, GCP, AWS)에서 macOS를 실행하는 것과 관련된 문서입니다. Is This Legal?
참조하십시오. 섹션 및 관련 참조.
이 프로젝트를 사용하여 오픈 소스 프로젝트를 빌드하고 테스트하고 작업을 완료하는 방법을 문서화(공유)하세요.
XNU 커널 디버깅 및 개발을 위해 이 프로젝트를 사용하는 방법을 문서화합니다.
여러 개의 헤드리스 macOS VM(빌드 팜)을 시작하는 프로세스를 문서화합니다.
그러한 build farm
에 소프트웨어를 배포하기 위한 munki의 사용법을 문서화합니다.
즉시 사용 가능한 VNC + SSH 지원을 더 쉽게 활성화하세요.
견고성 개선은 언제나 환영합니다!
(그렇지는 않습니다) 미친 아이디어 - OpenCV를 통해 macOS 설치를 자동화합니다.
최신 Linux 배포판. 예: Ubuntu 24.04 LTS 64비트 이상.
QEMU >= 8.2.2
Intel VT-x/AMD SVM을 지원하는 CPU가 필요합니다( grep -e vmx -e svm /proc/cpuinfo
)
>= macOS Sierra에는 SSE4.1을 지원하는 CPU가 필요합니다.
>= macOS Ventura에는 AVX2를 지원하는 CPU가 필요합니다.
참고: 구형 AMD CPU는 문제가 있는 것으로 알려져 있지만 최신 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
macOS가 설치될 가상 HDD 이미지를 생성합니다. 디스크 이미지 이름을 mac_hdd_ng.img
에서 다른 이름으로 변경하는 경우 새 이미지 이름을 가리키도록 부팅 스크립트를 업데이트해야 합니다.
qemu-img create -f qcow2 mac_hdd_ng.img 256G
노트: 최상의 결과를 얻으려면 빠른 SSD/NVMe 디스크에 이 HDD 이미지 파일을 생성하십시오.
이제 macOS를 설치할 준비가 되었습니다.
CLI 방법(기본). OpenCore-Boot.sh
스크립트를 실행하여 설치 프로세스를 시작하세요.
./OpenCore-Boot.sh
참고: 이 동일한 스크립트는 모든 최신 macOS 버전에서 작동합니다.
macOS 설치 프로그램 내의 Disk Utility
도구를 사용하여 macOS VM에 연결된 가상 디스크를 분할하고 포맷합니다. 최신 macOS 버전에는 APFS
(기본값)를 사용합니다.
계속해서 macOS를 설치하시겠습니까?
(선택 사항) libvirt(virt-manager / virsh 항목)와 함께 이 macOS VM 디스크를 사용합니다.
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 기능 및 기타 유사한 기능이 부족합니다. 이러한 기능을 활성화하려면 노트를 살펴보세요. 우리는 이 영역에 대한 테스트 및 문서화 작업을 재개하고 싶습니다. 이 분야의 업무에 자금을 지원할 수 있다면 저희에게 연락해 주세요.
'native-apple-hw' 성능을 넘어서는 것이 가능하지만 노력과 인내, 그리고 약간의 행운(아마도?)이 필요합니다.
SSH, VNC 등을 통해 VM에 대한 원격 액세스를 위해 VM, 아웃바운드 및 인바운드에서 네트워킹을 설정하는 방법에 대한 네트워킹 참고 사항을 참조하세요.
GPU 및 기타 장치를 통과하려면 다음 참고 사항을 참조하세요.
다른 해상도가 필요합니까? 이 저장소에 포함된 메모를 확인하세요.
iMessage에 문제가 있나요? 이 저장소에 포함된 메모를 확인하세요.
적극 권장되는 macOS 조정 - https://github.com/sickcodes/osx-optimizer
"비밀" Apple OSK 문자열은 인터넷에서 널리 사용 가능합니다. 이는 여기에서 볼 수 있는 공개 법원 문서에도 포함되어 있습니다. 저는 변호사는 아니지만 OSK 문자열을 영업 비밀로 취급하려는 Apple의 시도가 성공하지 못한 것 같습니다. 이러한 이유로 OSK 문자열은 이 저장소에 자유롭게 포함됩니다.
Dortania의 OpenCore 설치 가이드에서 'Hackintoshing의 합법성' 문서 비트를 검토하세요.
Gabriel Somlo는 또한 QEMU/KVM에서 macOS를 실행하는 것과 관련된 법적 측면에 대해 몇 가지 생각을 가지고 있습니다.
이 'macOS용 Amazon EC2 Mac 인스턴스 발표' 기사도 흥미로울 수도 있습니다.
참고: Apple EULA를 이해하고 수락(또는 수락하지 않음)하는 것은 귀하의 책임입니다.
참고: 이는 법적 조언이 아니므로 직접 적절한 평가를 수행하고 우려사항이 있는 경우 변호사와 논의하시기 바랍니다. (텍스트 출처: Dortania)
제 목표는 Apple의 폐쇄형 생태계에 (너무 많이) '투자'하지 않고도 쉽고 재현 가능한 방식으로 macOS 기반 교육 작업, 빌드 + 테스트, 커널 디버깅, 반전 및 macOS 보안 연구를 가능하게 하는 것입니다.
이러한 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 시스템에 관심을 갖게 된 계기입니다.