- OpenBSD/arm64 ahora puede funcionar como sistema operativo invitado en el entorno de Apple Hypervisor
- A través de una serie de commits, se corrigieron y mejoraron el procesamiento gráfico y las funciones de red, resolviendo el pánico del kernel y el problema de pantalla negra en X11
- Ahora funciona completamente en el entorno de Apple Virtualization y puede usarse en las Mac Apple Silicon más recientes
Soporte de OpenBSD/arm64 en Apple Hypervisor
- Gracias a commits recientes, OpenBSD/arm64 puede ejecutarse como sistema operativo invitado en Apple Hypervisor
- Los commits relacionados fueron realizados por Helg Bredow(
helg@) y Stefan Fritsch(sf@)
Corrección de viogpu por Helg Bredow
- Se modificó la función viogpu_wsmmap() en el archivo
sys/dev/pv/viogpu.c
- Antes devolvía una dirección virtual del kernel (kva), pero ahora devuelve una dirección física mediante bus_dmamem_mmap(9)
- Esta corrección resuelve el problema de pantalla negra al ejecutar X11 en QEMU y el pánico del kernel en Apple Hypervisor
- Se agregó una llamada a bus_dmamap_sync(9) antes de transferir el framebuffer a la memoria del host
- Esto permite que el host que se ejecuta en otra CPU detecte las actualizaciones del framebuffer
- La revisión y los comentarios sobre la corrección estuvieron a cargo de kettenis@, y la aprobación (ok) fue dada por sf@
Corrección de red virtio por Stefan Fritsch
- Se agregó soporte para la función VIRTIO_NET_F_MTU en el archivo
sys/dev/pv/if_vio.c
- Obtiene el valor de hardmtu desde el hipervisor y configura el MTU actual con ese mismo valor
- Aunque el estándar de virtio no es del todo claro, se adoptó el mismo enfoque que Linux
- Se usa ETHER_MAX_HARDMTU_LEN como límite superior, lo que ofrece un manejo más preciso que el anterior MAXMCLBYTES
- Si el hipervisor solicita un MTU mayor que ese valor, se realiza una renegociación sin la función VIRTIO_NET_F_MTU
- Con este commit, OpenBSD funciona completamente en el entorno de Apple Virtualization
- Las aportaciones y pruebas fueron realizadas por helg@, y la aprobación (ok) fue dada por jan@
Guía para usuarios y recomendación de pruebas
- Este cambio es especialmente útil para los usuarios de los modelos más recientes de Mac con Apple Silicon
- Actualmente puede probarse en la versión snapshot, y se solicita retroalimentación de los usuarios
1 comentarios
Opiniones en Hacker News
Como la especificación es ambigua, Linux simplemente funciona, pero OpenBSD tuvo que agregar un parche aparte para manejar los límites duros de MTU
Gracias al rendimiento de un solo hilo de los chips M4/M5, los invitados OpenBSD son un entorno ideal para probar configuraciones de pf o ejecutar un servidor de correo aislado
Ahora que se puede usar viogpu de forma estable, ya no hace falta depender solo de la consola serial al hacer instalaciones rápidas de VM
Un gran aplauso para Helg y Stefan
Por ese bug, OpenBSD se quedaba colgado al iniciar X en arm64, un problema que apareció después de los cambios al framebuffer en la versión 7.3
La única solución era desactivar el controlador del kernel, pero ahora parece que más gente podrá probar OpenBSD sin problemas
OpenBSD ya funcionaba desde hace tiempo con la combinación Hypervisor.framework + QEMU
Si eso es un problema real, me pregunto si hubo mejoras
En cambio, es mucho más simple que el invitado crea que tiene 4 GiB de RAM cuando en realidad el host solo la asigna al momento de acceder a ella
Las VM son algo completamente distinto de los contenedores
Ojalá también soportara otros protocolos de hypervisor (libvirtd, bhyve, etc.)
Quiero saber si queda aislado al punto de que el host no pueda comprometerlo ni matemáticamente. Podría ser ideal para manejo de claves
Con el hardware adecuado, el aislamiento sí es posible
Esto también se trata en la charla de BSDCan 2025
En este momento solo se puede usar RDP/VNC, así que espero que con esta mejora también pueda funcionar el framebuffer