Me faltaba conseguir ejecutar macOS en una máquina virtual con VMware sobre un host con sistema operativo Linux, y ya tengo funcionando macOS Monterey sobre Manjaro Linux.
Por si alguno estáis interesados en cómo hacerlo, el proceso es sencillo, pero hay que hacer algunos cambios para que funcione en estas últimas versiones.
Los repositorios de usuario AUR realmente contienen el código fuente de todo el software que descargamos, y desde el gestor de paquetes Pamac, cuando le indicamos que "construya", realmente lo que hace es compilar el código y generar los archivos ejecutables en nuestro sistema.
Antes de compilar, podemos ver los comentarios de los archivos de compilación que ha preparado el responsable del paquete. En este caso el de VMware Workstation lo mantiene Jean-Marc Lenoir, y uno de los primeros comentarios es que podemos eliminar la marca de comentario a una variable llamada "enable macOS guests" para permitir que se ejecute el sistema operativo de Apple.
El método tradicional que siempre he utilizado para conseguirlo ha sido utilizar el software Unlocker disponible en el GitHub de Paolo Projects
On windows machines, it's easier to use auto-unlocker, you can find it here: https://github.com/paolo-projects/auto-unlocker/releases. It has not been tested extensively, so if it doesn't work use ...
github.com
El software consiste básicamente en unos scripts escritos en Python, que pueden ser ejecutados en Windows (archivos .cmd) o en Linux (archivos .sh)
El script hay que convertirlo en ejecutable, bien con el comando chmod +x o utilizando la interfaz de gráfica, haciendo clic con el botón derecho > Propiedades y en la pestaña permisos seleccionando la opción que permite ejecutar el archivo como un programa.
Para ejecutarlo, lo mejor es usar el terminal y así vemos el resultado de la ejecución. Requiere privilegios elevados, así que usarmos sudo.
Insertar CODE, HTML o PHP:
Pero seguramente os falle, porque no reconoce la versión de python. El script está desarrollado por Dave Parsons hace ya unos cuantos años, y en la línea 30 indica el comando
python2, que he tenido que reemplazar por
python, ya que en mi sistema tengo instalada la versión 3 de Python y no la 2.
En esa línea 30, el script solicita a Python la ejecución del proceso que se encarga del desbloqueo, un script escrito en Python que añade a VMware la capacidad de gestionar la SMC (el controlador de gestión) de los sistemas de Apple.
Y con eso ya VMware ya estaría preparado para poder usar el sistema operativo de Apple, teniendo en cuenta que en el archivo de configuración de la máquina virtual (el archivo con extensión .vmx del directorio donde está alojada) debe estar presente esta variable:
Insertar CODE, HTML o PHP:
Con esto ya podríamos ejecutar un equipo con macOS, pero tendremos que instalar las VMware Tools para macOS, y el script continúa con un último paso en el que obtiene con otro script Python
gettools.py la imagen darwin.iso de la web de VMware, la deja en la carpeta tools y la copia en el directorio donde VMware almacena las isos
/usr/lib/vmware/isoimages/
Pero el script que recupera las VMware Tools falla porque VMware ha eliminado el archivo que las contiene de su repositorio en
CDS Repository - /var/www/public/stage/session-200/cds/vmw-desktop/fusion
Así que podemos obviar este paso y descargarlas manualmente
desde la web de soporte del fabricante
Descargamos el archivo VMware-Tools-darwin-11.3.5-18557794.zip, lo descomprimimos y tendremos ya el archivo darwin.iso
Y ya lo podemos copiar en el directorio de imágenes ISO de VMware como hace el script.
Pero realmente esto no nos va a valer de nada porque VMware nos dará un error, porque trata de acceder a los servidores de VMware y no lo busca en ese directorio.
Pero siendo una imagen ISO, podemos montarla y veremos que contiene dos programas de macOS, uno para instalar las VMware Tools, y otro para desinstalarlas, así que solo queda acceder a esa imagen ISO desde nuestra máquina virtual.
Yo lo hago usando Samba, que ya lo he configurado en Manjaro, algo que da para otro post, porque aunque el servidor Samba viene de serie en Manjaro, la configuración de usuarios, permisos y carpetas compartidas hay que hacerla a mano y no es trivial.
Y con las VMware Tools instaladas, ya tendremos los controladores específicos, incluyendo el de la tarjeta gráfica, que lamentablemente queda limitada a una SVGA con 128MB de memoria y eso hace que no le podamos sacar todo el partido.
Podemos afinar la resolución de pantalla ejecutando estos dos comandos en el terminal de macOS para indicarle al controlador gráfico de VMware Tools que utilice una resolución personalizada, aunque no recomiendo subir mucho la exigencia.
Insertar CODE, HTML o PHP:
cd '/Library/Application Support/VMware Tools'
./vmware-resolutionSet 1920 1080
Y si queréis activar la resolución HiDPI o como la llama Apple, "Retina", tendríais que ejecutar este otro comando en el terminal de macOS.
Insertar CODE, HTML o PHP:
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool true