Objetivo
Este artículo tiene como objetivo guiar la instalación exitosa de pfSense en una máquina virtual (VM) de Proxmox VE, abordando específicamente el error:
running without device atpic requires a local apic
Este mensaje suele presentarse durante la carga del sistema operativo basado en FreeBSD (como pfSense), especialmente en entornos virtualizados donde la configuración del hardware virtual no satisface los requisitos del kernel.
Descripción del problema
Durante el arranque de pfSense en una VM de Proxmox, el sistema puede mostrar el mensaje de error:
running without device atpic requires a local apic
Esto significa que el sistema no puede continuar porque ha sido configurado para no usar el controlador de interrupciones legacy (ATPIC), pero tampoco tiene habilitado un Local APIC, que es el controlador moderno de interrupciones.
Conceptos clave:
- ATPIC (8259A PIC): Antiguo controlador de interrupciones usado en arquitecturas x86.
- Local APIC (Advanced Programmable Interrupt Controller): Sistema moderno de gestión de interrupciones presente en procesadores actuales.
- FreeBSD: pfSense está basado en este sistema, el cual puede desactivar explícitamente
atpic
si detecta un entorno moderno.
Causa técnica
Este error se presenta cuando la VM:
- Desactiva el controlador de interrupciones antiguo (ATPIC), lo cual es común en sistemas modernos.
- Pero no dispone del Local APIC habilitado en el entorno de virtualización, lo que impide al kernel manejar interrupciones correctamente.
Solución en Proxmox VE
Opción 1: Configuración desde la interfaz gráfica (GUI)
- Apagar la VM desde el panel de Proxmox.
- Ir al menú "Hardware" de la VM.
- Entrar en "Procesador" y configurar:
- Tipo de CPU:
host
(recomendado) o una CPU moderna (Broadwell
,Haswell
, etc.).
- Tipo de CPU:
- En el menú "Opciones":
- Tipo de BIOS:
SeaBIOS
si usas versiones de pfSense basadas en FreeBSD 12 o anterior.OVMF (UEFI)
para versiones modernas si la imagen lo soporta.
- Máquina: Preferentemente
q35
oi440fx
.
- Tipo de BIOS:
Opción 2: Configuración vía consola
- Acceder al nodo Proxmox por SSH o desde la Shell web.
- Editar el archivo de configuración de la VM:
nano /etc/pve/qemu-server/VMID.conf
SustituirVMID
por el ID real de tu VM. - Verificar o añadir las siguientes líneas:
machine: pc-i440fx-8.0 cpu: host
También puedes usarq35
como valor demachine
si lo prefieres. - Guardar y cerrar el archivo.
- Iniciar nuevamente la VM.
Recomendaciones adicionales
- Asegúrate de estar utilizando una imagen ISO oficial y reciente de pfSense.
- Si usas un ISO personalizado de FreeBSD o un kernel modificado, no elimines el soporte a
device atpic
sin confirmar queapic
está funcional. - Puedes usar
-no-acpi
en entornos como QEMU puro, pero no es necesario en Proxmox.
Conclusión
El error "running without device atpic requires a local apic"
indica una configuración de virtualización inadecuada para sistemas FreeBSD como pfSense. Afortunadamente, se puede resolver fácilmente ajustando el tipo de CPU y la máquina virtual en Proxmox. Siguiendo los pasos descritos, la instalación y ejecución de pfSense debería completarse sin problemas.