Este README.md
documenta o processo de criação de um sistema Virtual Hackintosh
.
Nota: Todos os blobs e recursos incluídos neste repositório são rederiváveis (todas as instruções estão incluídas!).
Procurando suporte comercial com essas coisas? Estou disponível por e-mail para um bate-papo apenas para opções de suporte comercial . Nota: Os patrocinadores do projeto têm acesso ao repositório Private OSX-KVM
e suporte direto.
Lutando com coisas Content Caching
? Nós podemos ajudar.
Trabalhando com Proxmox
e macOS? Veja o blog do Nick com certeza.
Sim, agora oferecemos suporte para instalações offline do macOS. Consulte este documento?
Este projeto sempre pode contar com sua ajuda, tempo e atenção. Estou procurando ajuda (solicitações pull!) com os seguintes itens de trabalho:
Documentação sobre a execução do macOS em provedores de nuvem populares (Hetzner, GCP, AWS). Consulte a seção Is This Legal?
seção e referências associadas.
Documente (compartilhe) como você usa este projeto para construir + testar projetos de código aberto / realizar suas tarefas.
Documente como usar este projeto para depuração e desenvolvimento do kernel XNU.
Documente o processo para iniciar um monte de VMs macOS sem comando (build farm).
Documente o uso do Munki para implantar software em tal build farm
.
Ative o suporte VNC + SSH pronto para uso ou com mais facilidade.
Melhorias de robustez são sempre bem-vindas!
Idéia (nem tão) maluca - automatizar a instalação do macOS via OpenCV.
Uma distribuição Linux moderna. Por exemplo, Ubuntu 24.04 LTS de 64 bits ou posterior.
QEMU >= 8.2.2
É necessária uma CPU com suporte Intel VT-x / AMD SVM ( grep -e vmx -e svm /proc/cpuinfo
)
É necessária uma CPU com suporte SSE4.1 para >= macOS Sierra
É necessária uma CPU com suporte AVX2 para >= macOS Ventura
Observação: CPUs AMD mais antigas são conhecidas por serem problemáticas, mas os processadores AMD Ryzen modernos funcionam bem (mesmo para macOS Sonoma).
Instale o QEMU e outros pacotes.
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
Esta etapa pode precisar ser adaptada para sua distribuição Linux.
Clone este repositório em seu sistema QEMU. Os arquivos deste repositório são usados nas etapas a seguir.
cd ~
git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
As atualizações do repositório podem ser obtidas por meio do seguinte comando:
git pull --rebase
Este repositório usa fortemente fluxos de trabalho baseados em rebase.
O KVM pode precisar do seguinte ajuste na máquina host para funcionar.
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
Para tornar esta alteração permanente, você pode usar o seguinte 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
Adicione o usuário aos grupos kvm
e libvirt
(pode ser necessário).
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
Nota: Faça login novamente após executar este comando.
Obtenha o instalador do macOS.
./fetch-macOS-v2.py
Você pode escolher a versão desejada do macOS aqui. Após executar esta etapa, você deverá ter o arquivo BaseSystem.dmg
na pasta atual.
ATENÇÃO: Deixe a configuração de >= Big Sur
na tela Country Selection
e em outros lugares semelhantes por um tempo se as coisas estiverem lentas. O assistente de configuração inicial do macOS acabará sendo bem-sucedido.
Execução de amostra:
$ ./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: GPUs NVIDIA modernas são suportadas no HighSierra, mas não em versões posteriores do macOS.
Converta o arquivo BaseSystem.dmg
baixado no arquivo BaseSystem.img
.
dmg2img -i BaseSystem.dmg BaseSystem.img
Crie uma imagem de HDD virtual onde o macOS será instalado. Se você alterar o nome da imagem de disco de mac_hdd_ng.img
para outro nome, os scripts de inicialização precisarão ser atualizados para apontar para o novo nome da imagem.
qemu-img create -f qcow2 mac_hdd_ng.img 256G
NOTA: Crie este arquivo de imagem HDD em um disco SSD/NVMe rápido para obter melhores resultados.
Agora você está pronto para instalar o macOS
Método CLI (primário). Basta executar o script OpenCore-Boot.sh
para iniciar o processo de instalação.
./OpenCore-Boot.sh
Nota: Este mesmo script funciona para todas as versões recentes do macOS.
Use a ferramenta Disk Utility
no instalador do macOS para particionar e formatar o disco virtual anexado à VM do macOS. Use APFS
(o padrão) para versões modernas do macOS.
Vá em frente e instale o macOS?
(OPCIONAL) Use este disco macOS VM com libvirt (virt-manager/virsh stuff).
Edite o arquivo macOS-libvirt-Catalina.xml
e altere os vários caminhos de arquivo (procure por strings CHANGEME
nesse arquivo). O comando a seguir deve funcionar normalmente.
sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
virt-xml-validate macOS.xml
Crie uma VM executando o comando a seguir.
virsh --connect qemu:///system define macOS.xml
Se necessário, conceda as permissões necessárias ao usuário 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 a máquina virtual macOS
.
Use o script boot-macOS-headless.sh fornecido.
./boot-macOS-headless.sh
Bom trabalho na configuração de um sistema Virtual Hackintosh
! Esse sistema pode ser usado para diversos propósitos (por exemplo, construção de software, testes, reversão de trabalho) e pode ser tudo que você precisa, junto com alguns ajustes documentados neste repositório.
No entanto, tal sistema carece de aceleração gráfica, um subsistema de som confiável, funcionalidade USB 3 e outras coisas semelhantes. Para habilitar essas coisas, dê uma olhada em nossas notas. Gostaríamos de retomar nosso trabalho de teste e documentação nesta área. Entre em contato conosco se você puder financiar esta área de trabalho.
É possível ter um desempenho 'além do hardware nativo da Apple', mas requer trabalho, paciência e um pouco de sorte (talvez?).
Consulte as notas de rede sobre como configurar a rede em sua VM, saída e também entrada para acesso remoto à sua VM via SSH, VNC, etc.
Para passar por GPUs e outros dispositivos, consulte estas notas.
Precisa de uma resolução diferente? Confira as notas incluídas neste repositório.
Problemas com o iMessage? Confira as notas incluídas neste repositório.
Ajustes altamente recomendados no macOS - https://github.com/sickcodes/osx-optimizer
A string "secreta" do Apple OSK está amplamente disponível na Internet. Também está incluído em um documento judicial público disponível aqui. Não sou advogado, mas parece que as tentativas da Apple de fazer com que a string OSK fosse tratada como segredo comercial não funcionaram. Por esses motivos, a string OSK é incluída gratuitamente neste repositório.
Por favor, revise os bits da documentação 'Legalidade do Hackintoshing' no Guia de instalação do OpenCore da Dortania.
Gabriel Somlo também pensa sobre os aspectos legais envolvidos na execução do macOS no QEMU/KVM.
Você também pode achar interessante este artigo 'Anunciando instâncias Mac do Amazon EC2 para macOS'.
Nota: É sua responsabilidade compreender e aceitar (ou não) o EULA da Apple.
Nota: Este não é um aconselhamento jurídico, portanto, faça você mesmo as avaliações adequadas e discuta com seus advogados se tiver alguma dúvida (Crédito do texto: Dortania)
Meu objetivo é permitir tarefas educacionais baseadas no macOS, compilações + testes, depuração de kernel, reversão e pesquisa de segurança do macOS de uma maneira fácil e reproduzível, sem ser 'investido' no ecossistema fechado da Apple (muito pesadamente).
Esses sistemas Virtual Hackintosh
não se destinam a substituir os sistemas macOS físicos genuínos.
Pessoalmente falando, este repositório tem sido uma forma de ‘sair’ do ecossistema Apple. Isso me ajudou a testar e comparar a interoperabilidade do scanner Canon CanoScan LiDE 120
e da impressora a laser Brother HL-2250DN
. E esses dispositivos agora funcionam decentemente em versões modernas do Ubuntu (Oba para software livre). Além disso, há muito tempo, tive que limpar completamente meu (então) novo MacBook Pro (Retina, 15-inch, Late 2013)
e instalar o Xubuntu nele - já que o kernel OS X
continuava travando nele!
História: Eu fui um estudante (pobre) no Canadá em uma vida anterior e a Apple tornou meu trabalho em quebrar os chaveiros da Apple muito mais difícil do que o necessário. Foi assim que me interessei pelos sistemas Hackintosh.