logotype

Ureg

Instalando o macOS “Monterey” no Proxmox

Leitura estimada:10 minutos 470 Visualizações

Tutorial

Você pode ver todo este texto ou ver o vídeo, fique a vontade para escolher.

Fórum

Faça parte do fórum:  Hackintosh

https://www.youtube.com/watch?v=HBAPscDD30M

Este tutorial para instalar o macOS 12 Monterey foi adaptado para o Proxmox a partir do projeto OSX-KVM da Kholia e da configuração OpenCore do Leoyzen para KVM. Você pode obter o código-fonte completo da minha versão do OpenCore no meu GitHub aqui.

.explanation::after {
font-family: “Roboto”, sans-serif;
content: “NOTA”;
text-transform: uppercase;
font-weight: 700;
top: -19px;
left: 1rem;
padding: 0 0.5rem;
font-size: 0.6rem;
position: absolute;
z-index: 1;
color: #000;
background: #fff;
}

Requisitos

Vou assumir que você já tem o Proxmox 7 instalado. Você também precisa de um Mac real disponível para buscar a tecla OSK.

A CPU do seu computador host Proxmox deve suportar SSE 4.2, portanto, para a Intel, sua CPU deve ser pelo menos tão nova quanto o Nehalem, que foi a primeira geração de CPU a ter a marca “Core” i5/i7. CPUs mais antigas causarão falhas de Instrução Ilegal quando aplicativos/extensões tentarem usar essas instruções ausentes.

As CPUs AMD modernas também suportam o SSE 4.2 e funcionarão com este guia.

Primeira etapa: Criar uma ISO de instalação

Baixe minha cópia do repositório OSX-KVM usando o botão de download e descompacte-a:

https://github.com/thenickdude/OSX-KVM

Primeiro, precisamos instalar alguns requisitos de compilação. Se você estiver criando o instalador ISO no macOS, abra o Terminal e execute este comando para instalar as ferramentas de linha de comando:

				
					xcode-select --install
				
			

Se você estiver construindo o ISO no Linux, em vez disso, você precisa executar este comando (estes são os nomes de pacotes para o Ubuntu ou distribuições semelhantes, eles podem precisar de ajuste em outras distribuições):

				
					sudo apt install qemu-utils make
				
			

Agora no Terminal, a partir da raiz do OSX-KVM, execute:

				
					cd scripts/monterey
make Monterey-recovery.img
				
			

Isso fará o download do instalador Monterey dos servidores de distribuição de software da Apple e criará um arquivo para você. Carregue este arquivo no diretório de armazenamento ISO do seu Proxmox (normalmente). Embora estejamos colocando-o no diretório ISO para que possamos usá-lo com o seletor ISO da Proxmox mais tarde, esta é uma imagem de disco bruta em vez de uma ISO verdadeira.Monterey-recovery.img/var/lib/vz/template/iso

Se você estiver criando o instalador no macOS, poderá criar um instalador completo em vez de apenas uma recuperação, o que significará que o macOS não precisará baixar arquivos Monterey durante a instalação e, portanto, não exigirá uma conexão com a Internet. Basta pedir-lhe para construir Monterey-full.img em vez disso:

				
					cd scripts/monterey
make Monterey-full.img
				
			

Preparar uma imagem OpenCore

Baixe o arquivo OpenCore.iso.gz da versão mais recente no meu repositório (você deseja a v15 ou mais recente), clique duas vezes nele para descompactá-lo e envie-o para a loja ISO da Proxmox em . Embora tenha uma extensão de arquivo .iso, esta é realmente uma imagem de disco rígido./var/lib/vz/template/iso

Buscar a chave de autenticação OSK

O macOS verifica se ele está sendo executado em hardware Mac real e se recusa a inicializar em hardware de terceiros. Você pode contornar isso lendo uma chave de autenticação do seu hardware Mac real (a chave OSK). Salve o primeiro bloco de código C desta página como smc_read.c. Em um prompt de comando, mude para o mesmo diretório que esse arquivo e execute:

				
					xcode-select --install # If you don't already have gcc
gcc -o smc_read smc_read.c -framework IOKit
./smc_read
				
			

Ele imprimirá o OSK de 64 caracteres para você. Anote isso.

Todo Mac usa o mesmo OSK, então não se surpreenda que ele não se pareça com uma string aleatória!

Criar a VM

Na interface do usuário da Web do Proxmox, crie uma nova máquina virtual, conforme mostrado abaixo.




























Aparentemente, o Compartilhamento de Tela também é compatível com clientes VNC como o RealVNC, então você deve ser capaz de se conectar a ele a partir de consoles Linux ou Windows usando o RealVNC.

A verdadeira bala mágica para o desempenho de vídeo é passar por uma placa de vídeo compatível usando a passagem PCIe (embora note que o macOS agora suporta apenas um punhado de placas NVidia muito antigas). Isso oferece desempenho quase nativo. Você pode ler mais sobre como estou usando a passagem PCIe em minha própria instalação aqui.

Passagem USB

Como quero usar isso como meu computador principal, quero usar um teclado e mouse USB conectados diretamente ao Proxmox, em vez de enviar minha entrada pelo console VNC da Web.

Proxmox tem boa documentação para passagem USB. Basicamente, execute “qm monitor YOUR-VM-ID-HERE”, em seguida, “info usbhost” para obter uma lista dos dispositivos USB conectados ao Proxmox:

				
					qm> info usbhost
 Bus 3, Addr 12, Port 6, Speed 480 Mb/s
 Class 00: USB device 8564:1000, Mass Storage Device
 Bus 3, Addr 11, Port 5.4, Speed 12 Mb/s
 Class 00: USB device 04d9:0141, USB Keyboard
 Bus 3, Addr 10, Port 5.1.2, Speed 12 Mb/s
 Class 00: USB device 046d:c52b, USB Receiver
 Bus 3, Addr 9, Port 14.4, Speed 12 Mb/s
 Class 00: USB device 046d:c227, G15 GamePanel LCD
 Bus 3, Addr 8, Port 14.1, Speed 1.5 Mb/s
 Class 00: USB device 046d:c226, G15 Gaming Keyboard
				
			

Neste caso, posso adicionar meu teclado e mouse à passagem USB saindo do qm e, em seguida, executando:

				
					qm set YOUR-VM-ID-HERE -usb1 host=04d9:0141
qm set YOUR-VM-ID-HERE -usb2 host=046d:c52b
				
			

Isso salva os dispositivos na configuração da VM para você. Você precisa reiniciar para que as novas configurações sejam aplicadas.

Você também pode passar por dispositivos USB passando por um controlador USB inteiro usando o recurso de passagem PCIe do Proxmox, que oferece uma compatibilidade muito melhor.

Contagens de núcleos ímpares

Se a CPU do host for AMD, você pode ter uma contagem de núcleos divisível por 3, como 6 núcleos. O macOS não gosta se a contagem de núcleos não for uma potência de 2 (1, 2, 4, 8), mas não se importa com contagens de soquetes ímpares.

Então, para passar 6 núcleos totais, configure a VM para 3 soquetes e 2 núcleos por soquete.

Corrigindo “inicializações de convidado no shell UEFI”

Se o seu convidado acabar inicializando no shell UEFI em vez de mostrar o menu de inicialização do OpenCore, especialmente se você acabou de atualizar o OpenCore para uma nova versão, será necessário editar as entradas de inicialização UEFI do convidado para corrigir isso.

No início da inicialização do convidado, pressione F2 para inserir as configurações UEFI do convidado.

Primeiro, removeremos as entradas antigas. Escolha a opção Manutenção de Inicialização e, em seguida, Opções de Inicialização -> Opção de Exclusão de Inicialização. Use a barra de espaço para marcar todas as entradas antigas do Clover ou do OpenCore (evite marcar a opção EFI Internal Shell, você deseja manter isso!). Selecione “Confirmar alterações e sair”.

Agora vamos adicionar a entrada correta para o OpenCore de volta. Selecione Adicionar opção de inicialização. Navegue pela árvore de dispositivos até EFI/OC/OpenCore.efi e selecione-a, nomeie essa nova opção como “OpenCore” ou similar. Novamente confirme as alterações e saia.

Vá para a Ordem de Inicialização Alterar e mova o OpenCore para o topo. Confirmar alterações e sair.

Agora volte para o menu principal e escolha Redefinir, e você deve inicializar com sucesso no OpenCore desta vez.

Corrigindo o iMessage

O iCloud e a App Store já devem estar funcionando para você, mas para o suporte ao iMessage você deve seguir estas etapas para marcar seu adaptador de rede como integrado:

https://dortania.github.io/OpenCore-Post-Install/universal/iservices.html#fixing-en0

Desabilitando o SIP (Proteção de Integridade do Sistema)

Você pode desativar o SIP selecionando a opção Recuperação no menu de inicialização do OpenCore e, em seguida, use o menu superior para abrir o Terminal e executar o . Em seguida, reinicie.csrutil disable --no-internal

Isso pode ser necessário para executar kexts não assinados ou executar outros hacks.

Atualizando o OpenCore

Às vezes, você precisa atualizar o OpenCore para uma nova versão para oferecer suporte a uma nova atualização do macOS. Suponho que você não tenha nenhuma personalização para config.plist que deseja salvar.

Primeiro tire uma foto! É ótimo poder reverter se algo der errado.

Se você ainda conseguir inicializar o macOS, poderá atualizá-lo de dentro do convidado. Siga as instruções na seção “Editando suas configurações de OpenCore/EFI” para montar sua partição EFI. Em seguida, você pode excluir a pasta EFI e substituí-la pela do arquivo OpenCoreEFIFolder.zip da minha versão OpenCore (você provavelmente precisará esvaziar a lixeira primeiro para abrir espaço para a nova pasta). Você terminou!

Se você não conseguir inicializar o macOS, descompacte e carregue o novo ISO do OpenCore na loja ISO da Proxmox. Adicione uma nova unidade de CD à VM que usa esse ISO. Em seguida, no terminal do Proxmox, edite a configuração da VM (em ) para substituir “media=cdrom” por “cache=unsafe” para a unidade OpenCore. Agora, na guia “Opções”, altere a ordem de inicialização para colocar a nova unidade OpenCore em primeiro lugar. /etc/pve/qemu-server

Inicie a VM e inicialize no macOS usando a nova unidade OpenCore. De dentro do macOS, agora você pode seguir as instruções da seção “Tornar a instalação do OpenCore permanente” para instalar a nova imagem do OpenCore no disco principal do macOS, após o que a unidade OpenCore pode ser desconectada da VM.

Atualizando do macOS Big Sur

Primeiro faça um backup ou instantâneo do seu sistema! Ser capaz de reverter quando a atualização dá errado é um verdadeiro salva-vidas.

Você precisará atualizar o OpenCore para a minha versão v15 antes da atualização. Você pode seguir as instruções na seção “Editando suas configurações do OpenCore” acima para montar seu disco EFI. Em seguida, você pode substituir os arquivos OpenCore no disco “EFI” montado com os do arquivo OpenCoreEFIFolder.zip na minha versão mais recente do OpenCore.

Reinicialize para se certificar de que você ainda pode inicializar o Big Sir.

Se você estiver usando qualquer dispositivo de passagem PCIe (particularmente placas de vídeo), você vai querer desativá-los e definir “vga: vmware” em vez disso, para que você possa instalar usando o console da web do Proxmox de uma máquina diferente durante a atualização. Isso evita problemas do instalador desencadeados pela passagem escamosa da placa de vídeo, especialmente travamentos de host causados pelo Bug de redefinição da AMD.

Agora você pode atualizar para Monterey usando a Atualização de Software ou da App Store como faria em um Mac real.

Se a atualização não aparecer, o modo SIP pode estar definido como “Apple Internal”. Você pode verificar isso executando “csrutil status” no Terminal.

Para corrigir isso, reinicie a VM e, no menu OpenCore, selecione Recuperação. Abra o Terminal e, lá dentro, execute “” (“” também está bem), em seguida, reinicie novamente no macOS e tente novamente.csrutil enable --no-internalcsrutil disable --no-internal

O credito vai para Nicolau Sherlock do site https://www.nicksherlock.com/

quote icon left

Isso é tudo!

Deixe seu feedback, é muito importante saber o que você está pensando sobre nosso trabalho.

Atenciosamente

UdayTC
quote




Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

CONTEÚDO

Protegido: Instalação Minikube

Não há resumo por ser um post protegido.

Protegido: Introdução ao Istio

Não há resumo por ser um post protegido.

Protegido: Conceito de service mesh

Não há resumo por ser um post protegido.

Protegido: Monólito e Micros-serviços

Não há resumo por ser um post protegido.

Jenkins Mastery

Docker Mastery

Monitoramento Mastery

Python Mastery

Git Mastery

Kubernetes Mastery

Ansible Mastery

Terraform Mastery

Chat Icon Close Icon