En este artículo, vamos a aprender a virtualizar la manzanita en nuestro Proxmox. Vamos a tener un sistema operativo de Mac totalmente funcional.

Requisitos

Los requisitos son bastante sencillos de cumplir.

  • La ISO de MacOS 14 (Sonoma) o cualquier otra versión de MacOS, funciona con las anteriores también. Con las futuras será el mismo proceso. Podéis descargarla de aquí.
  • La ISO de KVM-OpenCore, la podéis descargar de aquí.
  • Configurar la máquina virtual.

Preparación de la máquina virtual

En nuestro Proxmox, le damos a crear nueva VM. y en el asistente vamos seleccionando lo siguiente:

Primero le dais el nombre que queráis a la máquina:

Seleccionáis la ISO de OpenCore y en tipo, ponemos “Other”.

En el apartado gráfico, seleccionamos “VMware compatible”, “q35” y “VirtIO SCSI”, “OVMF (UEFI)” y deseleccionamos “Pre’Enroll keys”

En la parte de disco duro, seleccionáis el tamaño del disco y en el BusDevice, elegís “VirtIO Block”.

En CPU, seleccionáis los sockets y cores que queréis asignar (cuantos más, mejor) y en el tipo, elegís “host”.

En Memoria, lo mismo, cuantos más podáis poner, mejor.

El apartado de red varía por cada entorno, así que sabréis lo que debéis elegir, yo lo voy a deja por defecto porque no estoy “taggeando” ninguna red en el switch de laboratorio y en modelo, eso sí, tenéis que poner “VMwae vmxnet3”

Cuando terminéis la instalación, añadís una nueva unidad de CD con la ISO de MacOS y en el boot order, en las opciones de la VM, ponéis como primera opción la unidad de CD con la ISO de OpenCore y la segunda, la unidad de CD con la ISO de MacOS.

Ahora, nos vamos a la shell del nodo para editar el archivo de configuración de la máquina virtual, para eso usáis vuestro editor de texto favorito.

vim /etc/pve/qemu-server/VMID.conf

Sustituir VMID por el ID de la máquina que acabáis de crear. Una vez que estéis en el editor, tenéis que poner al principo del archivo el siguiente argumento, dependiendo de si la CPU del nodo es Intel o AMD. Si es Intel, poned:

args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu host,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on

Si es AMD:

args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on

En la línea de las unidades de CD, donde pone media=cdrom, lo quitáis y escribís, cache=unsafe. El resultado final sería algo así:

Una vez arranquemos la máquina, arrancará de la ISO de OpenCore y veremos algo así:

Elegimos UEFI Shell y nos cargará esto:

Escribimos

fs0:

Y a continuación:

System\Library\CoreServices\Boot.efi

Y le damos a enter y ya podemos empezar a instalar la máquina. El vídeo completo de todo el proceso junto con la instalación de MacOS lo tenéis aquí:

error: ooops!