VirtualBox es un conocido sistema de virtualización dentro del mundo Linux, en este artÃculo aprenderemos como instalarlo y configurarlo bajo FreeBSD. Cabe destacar que solo recomiendo su instalación en sistemas de escritorio ya que en servidores tenemos soluciones mucho mas idóneas como IOCage o vm-bhyve y si lo sé VirtualBox también puede instalarse sin soporte gráfico y gestionarse desde la CLI pero la experiencia resulta muy deficiente y dependiendo del hardware utilizado puede dar problemas de estabilidad.
Este artÃculo está basado en la guÃa del handbook de FreeBSD con algunas anotaciones adicionales.
Primero nos aseguramos de que nuestro micropocesador disponga de los registros Intel-VT/AMD-v, en mi caso se trata de un Intel Core i7-6700K.
VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
Se ha dado el caso en el que la CPU contaba con dichos registros, la opción estaba habilitada en la BIOS pero le presentaba de forma incorrecta dicha información al sistema operativo:
VT-x: (disabled in BIOS) HLT,PAUSE
VT-x: (disabled in BIOS) HLT,PAUSE
En tal caso se solventó actualizando la BIOS a la última versión.
Ahora que estamos seguros de que nuestra CPU es compatible procedemos con la instalación de VirtualBox:
Cargamos el módulo del kernel:
Nos aseguramos de que en el próximo arranque sea cargado de nuevo:
vboxdrv_load="YES"
Habilitamos el servicio y lo arrancamos:
service vboxnet start
Añadimos el usuario con el que administraremos las máquinas virtuales, al grupo vboxusers:
Si vamos a utilizar bridges en la red de VirtualBox debemos darle permisos al grupo vboxusers:
chmod 0660 /dev/vboxnetctl
Para que los permisos sean perpetuos debemos configurar devfs del siguiente modo:
own vboxnetctl root:vboxusers
perm vboxnetctl 0660
Si además queremos que las máquinas virtuales tengan acceso a los puertos USB del equipo padre debemos añadir el usuario al grupo operator:
Y definir las siguientes reglas devfs:
[system=10]
add path 'usb/*' mode 0660 group operator
NOTA: Destacar que los permisos de devfs se han configurado en el fichero devfs.conf mientras que las reglas en devfs.rules.
Le indicamos al sistema operativo que cargue nuestras reglas devfs:
service devfs restart
Puede que algunas máquinas virtuales tengan problema adquiriendo ip por DHCP, para que esto funcione debemos habilitar la opción Settings -> Network -> Adapter1 -> Promiscous mode: Allow all
Como apunte final debemos tener en cuenta otros sistemas de virtualización como CBSD o similar, si se carga el módulo vmm las máquinas virtuales de VirtualBox inician pero se quedan en una ventana en negro, no llega a aparecer ni la BIOS ni el boot del sistema.