Este README.md
documenta el proceso de creación de un sistema Virtual Hackintosh
.
Nota: Todos los blobs y recursos incluidos en este repositorio se pueden volver a derivar (¡se incluyen todas las instrucciones!).
¿Busca soporte comercial con este material? Estoy disponible por correo electrónico para chatear solo sobre opciones de soporte comercial . Nota: Los patrocinadores del proyecto obtienen acceso al repositorio Private OSX-KVM
y soporte directo.
¿Tiene problemas con el almacenamiento Content Caching
? Podemos ayudar.
¿Trabajas con Proxmox
y macOS? Vea el blog de Nick con seguridad.
Sí, ahora admitimos instalaciones de macOS sin conexión. ¿Consulta este documento?
Este proyecto siempre puede necesitar su ayuda, tiempo y atención. Estoy buscando ayuda (¡solicitudes de extracción!) con los siguientes elementos de trabajo:
Documentación sobre la ejecución de macOS en proveedores de nube populares (Hetzner, GCP, AWS). Consulte Is This Legal?
sección y referencias asociadas.
Documente (comparta) cómo utiliza este proyecto para crear + probar proyectos de código abierto/hacer sus cosas.
Documente cómo utilizar este proyecto para la depuración y el desarrollo del kernel XNU.
Documente el proceso para iniciar un grupo de máquinas virtuales macOS sin cabeza (granja de compilación).
Documente el uso de munki para implementar software en dicha build farm
.
Habilite la compatibilidad con VNC + SSH de forma inmediata o más fácilmente.
¡Las mejoras en robustez siempre son bienvenidas!
Idea (no tan) loca: automatizar la instalación de macOS a través de OpenCV.
Una distribución de Linux moderna. Por ejemplo, Ubuntu 24.04 LTS de 64 bits o posterior.
QEMU >= 8.2.2
Se requiere una CPU con soporte Intel VT-x/AMD SVM ( grep -e vmx -e svm /proc/cpuinfo
)
Se requiere una CPU con soporte SSE4.1 para >= macOS Sierra
Se requiere una CPU con soporte AVX2 para >= macOS Ventura
Nota: Se sabe que las CPU AMD más antiguas son problemáticas, pero los procesadores AMD Ryzen modernos funcionan bien (incluso para macOS Sonoma).
Instale QEMU y otros paquetes.
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
Es posible que este paso deba adaptarse a su distribución de Linux.
Clona este repositorio en tu sistema QEMU. Los archivos de este repositorio se utilizan en los siguientes pasos.
cd ~
git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
Las actualizaciones del repositorio se pueden obtener mediante el siguiente comando:
git pull --rebase
Este repositorio utiliza en gran medida flujos de trabajo basados en rebase.
Es posible que KVM necesite el siguiente ajuste en la máquina host para funcionar.
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
Para que este cambio sea permanente, puede utilizar el siguiente comando.
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
Agregue un usuario a los grupos kvm
y libvirt
(puede ser necesario).
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
Nota: Vuelva a iniciar sesión después de ejecutar este comando.
Obtenga el instalador de macOS.
./fetch-macOS-v2.py
Puede elegir la versión de macOS que desee aquí. Después de ejecutar este paso, debería tener el archivo BaseSystem.dmg
en la carpeta actual.
ATENCIÓN: Deje que la configuración de >= Big Sur
permanezca en la pantalla Country Selection
y en otros lugares similares por un tiempo si las cosas van lentas. El asistente de configuración inicial de macOS finalmente tendrá éxito.
Ejecución de muestra:
$ ./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
Nota: Las GPU NVIDIA modernas son compatibles con HighSierra, pero no con versiones posteriores de macOS.
Convierta el archivo BaseSystem.dmg
descargado en el archivo BaseSystem.img
.
dmg2img -i BaseSystem.dmg BaseSystem.img
Cree una imagen de disco duro virtual donde se instalará macOS. Si cambia el nombre de la imagen del disco de mac_hdd_ng.img
a otro, será necesario actualizar los scripts de arranque para que apunten al nuevo nombre de la imagen.
qemu-img create -f qcow2 mac_hdd_ng.img 256G
NOTA: cree este archivo de imagen de disco duro en un disco SSD/NVMe rápido para obtener mejores resultados.
Ahora estás listo para instalar macOS
Método CLI (primario). Simplemente ejecute el script OpenCore-Boot.sh
para iniciar el proceso de instalación.
./OpenCore-Boot.sh
Nota: este mismo script funciona para todas las versiones recientes de macOS.
Utilice la herramienta Disk Utility
dentro del instalador de macOS para particionar y formatear el disco virtual conectado a la VM de macOS. Utilice APFS
(el valor predeterminado) para las versiones modernas de macOS.
¿Continuar e instalar macOS?
(OPCIONAL) Utilice este disco VM de macOS con libvirt (virt-manager/virsh things).
Edite el archivo macOS-libvirt-Catalina.xml
y cambie las distintas rutas de archivo (busque cadenas CHANGEME
en ese archivo). El siguiente comando debería funcionar normalmente.
sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
virt-xml-validate macOS.xml
Cree una máquina virtual ejecutando el siguiente comando.
virsh --connect qemu:///system define macOS.xml
Si es necesario, otorgue los permisos necesarios al usuario libvirt-qemu,
sudo setfacl -m u:libvirt-qemu:rx /home/$USER
sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM
Inicie virt-manager
e inicie la máquina virtual macOS
.
Utilice el script boot-macOS-headless.sh proporcionado.
./boot-macOS-headless.sh
¡Buen trabajo al configurar un sistema Virtual Hackintosh
! Un sistema de este tipo se puede utilizar para diversos fines (por ejemplo, creación de software, pruebas, inversión de trabajo) y puede ser todo lo que necesite, junto con algunos ajustes documentados en este repositorio.
Sin embargo, dicho sistema carece de aceleración gráfica, un subsistema de sonido confiable, funcionalidad USB 3 y otras cosas similares. Para habilitar estas cosas, eche un vistazo a nuestras notas. Nos gustaría reanudar nuestro trabajo de prueba y documentación en torno a esta área. Comuníquese con nosotros si puede financiar esta área de trabajo.
Es posible tener un rendimiento "más allá del hardware nativo de Apple", pero requiere trabajo, paciencia y un poco de suerte (¿quizás?).
Consulte las notas de red sobre cómo configurar la red en su VM, saliente y también entrante para acceso remoto a su VM a través de SSH, VNC, etc.
Para pasar a través de GPU y otros dispositivos, consulte estas notas.
¿Necesita una resolución diferente? Consulte las notas incluidas en este repositorio.
¿Problemas con iMessage? Consulte las notas incluidas en este repositorio.
Ajustes de macOS altamente recomendados: https://github.com/sickcodes/osx-optimizer
La cadena "secreta" de Apple OSK está ampliamente disponible en Internet. También se incluye en un documento judicial público disponible aquí. No soy abogado, pero parece que los intentos de Apple de tratar la cadena OSK como un secreto comercial no funcionaron. Por estos motivos, la cadena OSK se incluye gratuitamente en este repositorio.
Revise los fragmentos de documentación sobre 'Legalidad del hackintoshing' de la Guía de instalación de OpenCore de Dortania.
Gabriel Somlo también tiene algunas ideas sobre los aspectos legales involucrados en la ejecución de macOS bajo QEMU/KVM.
También puede resultarle interesante este artículo "Anuncio de instancias Amazon EC2 Mac para macOS".
Nota: Es su responsabilidad comprender y aceptar (o no aceptar) el CLUF de Apple.
Nota: Este no es un asesoramiento legal, así que realice las evaluaciones adecuadas usted mismo y hable con sus abogados si tiene alguna inquietud (Crédito de texto: Dortania)
Mi objetivo es permitir tareas educativas basadas en macOS, compilaciones y pruebas, depuración del kernel, reversión e investigación de seguridad de macOS de una manera fácil y reproducible sin "invertir demasiado" en el ecosistema cerrado de Apple.
Estos sistemas Virtual Hackintosh
no están destinados a reemplazar los sistemas macOS físicos genuinos.
Personalmente hablando, este repositorio ha sido para mí una forma de 'salir' del ecosistema de Apple. Me ha ayudado a probar y comparar la interoperabilidad del escáner Canon CanoScan LiDE 120
y la impresora láser Brother HL-2250DN
. Y estos dispositivos ahora funcionan bastante decentemente en versiones modernas de Ubuntu (Yay por software gratuito). Además, hace mucho tiempo, tuve que borrar por completo mi (entonces) nueva MacBook Pro (Retina, 15-inch, Late 2013)
e instalar Xubuntu en ella, ¡ya que el kernel OS X
seguía fallando!
Trasfondo: Fui un estudiante (pobre) en Canadá en una vida anterior y Apple hizo que mi trabajo para descifrar llaveros de Apple fuera mucho más difícil de lo necesario. Así fue como me interesé por los sistemas Hackintosh.