Cómo instalar OS X en Virtualbox


Introducción

Suponiendo que tengas que usar un entorno OS X virtualizado para trabajar (por cuestiones de desarrollo de software por ejemplo) siempre puedes optar por usar Virtualbox, el famoso software de virtualización de Oracle. Cabe destacar que aunque este tutorial funciona en prácticamente cualquier computadora que cumpla con ciertas características, legalmente sólo puedes correr máquinas virtuales OS X en hardware Apple que ya esté corriendo como host O.S. la versión del sistema operativo que quieras virtualizar en algún momento dado, y en dicho caso sólo podrás crear hasta 2 máquinas virtuales usando una misma Copia/ISO de OS X (obtenida por alguno de los canales que ellos mismos proveen para ello) como bien lo dicta la licencia:


Cualquier otro escenario (como virtualizar OS X en una computadora con algún host O.S. como Linux y/o Windows) podrá recaer en un incumplimento de la licencia de Apple, mismo que podría terminar en ellos no haciéndose responsables de cualquier mal funcionamiento del software y/o bien contigo cayendo responsable de algún cargo legal (y es aquí porqué siempre has de desmarcar "Enviar datos de uso" en todos lados si ése es tu caso jajajaja)... Dejando los malos chistes a un lado, quedan avisados.

Ahora bien, debido a esta cuestión de la licencia, VirtualBox no puede ofrecer soporte completo real a OS X, así que no esperes que todo funcione de maravilla o que vayas a tener las VirtualBox guest additions disponibles (aunque como veremos más adelante se pueden suplir y el entorno es hasta eso fluido y útil incluso bajo las condiciones mínimas) pero es importante tener esto en cuenta también. Una vez aclarado lo que necesitaba explicación, comencemos:

1) ¿Qué necesitamos?

Un equipo host Mac y/o (bajo tu propio riesgo), una PC con un procesador Intel compatible con la tecnología de virtualización directa VT-x, una tarjeta de video con al menos 256MB en VRAM disponibles, capacidad para delegar al menos 2GB de RAM a la máquina virtual y de preferencia un setup de hardware lo más parecido a una Mac (aunque lo único obligatorio es la parte del procesador y la tarjeta de video). También necesitaremos una imagen ISO pura (para instalación) de OS X en la versión que lo queramos. Dicha imagen se obtiene gratuitamente usando tu equipo Mac como se describe acá (ahí en el mismo hilo viene el troubleshooting para hacerlo booteable en caso de que nuestra VM no arranque desde éste) y por si se lo preguntaban los ISO's "mod" para Hackintosh también funcionan, sin embargo lo ideal es NO piratear software ya que de por sí es compleja la situación legal de OS X en máquinas virtuales y además varios de esos ISO's pueden contener malware escondido (como keyloggers/troyanos y otros). De cualquier manera, necesitarás también la última versión de Virtualbox instalada en tu sistema operativo host con todo y su extension pack previamente habilitado.

Nos aseguramos de que la tecnología de virtualización de nuestro procesador esté habilitada en la BIOS del equipo host y proseguimos.

2) Settings en Virtualbox


Creamos una nueva máquina virtual de Mac OS X (64 bits) sin especificar la versión, le damos un rango de 2GB a 8GB en RAM y un disco duro de mínimo 60GB en formato VMDK reservado dinámicamente.

Tras hacer esto, nos vamos a Configuración (tras seleccionar nuestra nueva máquina virtual en la lista de Virtualbox) y en la parte de Sistema>Placa base deshabilitamos disquette, red, y EFI:


Acto seguido, en la pestaña de Procesador le damos a la máquina virtual la mitad del total de núcleos de nuestro procesador en el equipo host con un límite de ejecución del 100% y PAE/NX habilitado (por ejemplo en el caso de un equipo host con procesador Dual-Core a la máquina virtual sólo se le debería permitir el uso de 1 sólo núcleo al 100%):


En la pestaña de Aceleración, deshabilitamos la paginación anidada y habilitamos VT-x/AMD-v:


Más adelante, en el apartado de Pantalla>Video le daremos a nuestra máquina virtual 128MB de VRAM para uso deshabilitando la aceleración 3D y 2D:


Después, en el apartado de Almacenamiento seleccionaremos como unidad óptica nuestro ISO de OS X:


3) Instalación

Guardamos los cambios e iniciamos nuestra máquina virtual... Seguimos las instrucciones del instalador de OS X y al llegar a la parte de la selección de disco destino para la instalación, veremos que nuestro disco duro de Virtualbox no es reconocido. Nos vamos entonces a Utilidades>Utilidad de discos, seleccionamos nuestro disco incompatible y nos vamos a la pestaña de Borrar, seleccionando Mac OS Plus (con registro) como formato y dándole un nombre descriprivo:



Cerramos la utilidad de discos y volvemos al instalador, donde ya podremos seleccionar el disco duro previamente "inexistente":


Tras finalizar el proceso de instalación, rellenamos los datos requeridos en el asistente de primera configuración. Recomiendo no bloquear la pantalla del sistema virtual con una contraseña (aunque sí deberán elegir una para su usuario) con el fin de acelerar el proceso de booteo.

3.1) Guest additions

Como dije, no existe tal cosa como las guest additions para OS X oficialmente. Sin embargo podemos reemplazarlas de la siguiente manera:

Pantalla completa

Cambien la máquina a modo ajustado con Ctrl derecho + C y apáguenla. Luego, corran el siguiente comando (en la consola de su sistema host):

VBoxManage setextradata "OS X (VM)" "CustomVideoMode1" "1920x1080x32"

Reemplazando OS X (VM) por el nombre de su máquina virtual (dejando las comillas) y 1920x1080 por el tamaño/resolución de su pantalla. La tasa de refresco se ha de quedar siempre en los 32 Hz. Apaguen la máquina virtual, cierren Virtualbox y a continuación vuelvan a abrir el programa para ejecutar la máquina virtual de nuevo; Ésta debería iniciar en el modo ajustado automáticamente, mismo que al maximizarlo debería tener la resolución total de su monitor como ventana.

Compartición de archivos

Para esto tendrán que hacer uso de alguna tecnología como Btsync, poniendo previamente en la configuración de su VM al adaptador de red en modo de "Adaptador Puente" para que se pueda comunicar con su equipo host vía LAN:


Dispositivos USB

Éstos son reconocidos de manera automática por la VM gracias al extension pack de Virtualbox. Sólo tienes que conectarlos al host antes de iniciar tu máquina virtual y añadirlos a los filtros en el apartado de USB dentro de la configuración.

4) Post-instalación

Tras terminar la instalación (y configuración básica) de OS X, es recomendable correr una reparación de permisos con el siguiente comando en terminal (también se puede gráficamente desde la utilidad de discos):

sudo diskutil repairPermissions /

Y hacer algunos tweaks para acelerar el sistema como quitar apps al inicio, reducir animaciones, desactivar el Dashboard etc. Una buena app para hacer varios de éstos cambios es TinkerTool junto con las preferencias del sistema. Si por alguna razón decidiste/tuviste que usar un ISO hackintosh en lugar del original para seguir este proceso no te olvides también de hacer un chequeo completo de tu sistema con alguna herramienta como Avast! antivirus para Mac antes de ingresar (por ejemplo) tus credenciales de Apple para la App Store o algo así.

4) Creando un snapshot

Ya que hayas terminado de mejorar tu instalación de OS X es recomendable reiniciar tu máquina virtual y crear un snapshot del estado fresco de la misma, antes de empezar a trabajar en ella y/o hacerle otras cosas. Esto se logra dentro del mismo Virtualbox presionando el botón de Instantáneas tras seleccionar la máquina virtual en la lista:


Como medida preventiva adicional, crea una copia de la imagen VMDK de la instalación fresca de la VM en algún lado que no sea utilizado por Virtualbox. De esta manera si la máquina se llegase a corromper, bien puedes usar esa imagen de disco limpia para arrancar la VM en otra instalación de Virtualbox y/o incluso en otro software de virtualización (como VMware Player) sin tener que repetir los pasos ya seguidos previamente.

Recomendaciones finales

Inicio rápido

Es una buena idea cerrar todas las apps en ejecución, cerrar la sesión de usuario después y guardar el estado actual de una máquina virtual al terminar de usarla en lugar de directamente apagarla y/o enviarle la señal de apagado ACPI, ya que esto hará que inicie más rápido cuando la necesitemos.

Actualizaciones del sistema

También recuerda que al tratarse de hardware virtual, lo más recomendable para actualizar el S.O. de tu VM es a través de las combo updates de Apple (reparando los permisos antes y después de aplicar alguna ya sea mayor o menor) en lugar de directamente desde la App Store para tener un mayor control de lo que sucede.