4 min de lectura

NextBSD revive su experimento Darwin sobre FreeBSD

NextBSD vuelve con una nueva base de código, con la intención de combinar el kernel de FreeBSD con componentes de Apple Darwin y el escritorio Gershwin.

Imagen: The Register

NextBSD, uno de los experimentos BSD más singulares de la década de 2010, está siendo revivido bajo una nueva dirección. El proyecto ahora cuenta con una nueva página de inicio y un repositorio en GitHub; el repositorio original sigue en línea, pero sus últimos cambios datan de hace siete años.

El resurgimiento está liderado por Joe Maloney, conocido en GitHub como pkgdemon. Maloney creó anteriormente el escritorio Gershwin para GhostBSD. Tras la cobertura de Gershwin en The Register, preguntó a los mantenedores originales de NextBSD si podía hacerse cargo del proyecto. Su papel en la primera versión fue relativamente menor, y sus contribuciones anteriores siguen visibles en el historial del proyecto.

El plan de NextBSD basado en Darwin

El NextBSD original fue lanzado en 2015 por Jordan Hubbard, cofundador de FreeBSD. Su objetivo era llevar componentes seleccionados del sistema operativo de código abierto de Apple, Darwin, a FreeBSD.

Recomendado

Linux 0.11 recibe una reescritura en Rust de 47,000 líneas

Darwin proporciona la base Unix para macOS y otros sistemas operativos de Apple. Su código público incluye el kernel XNU, que usa Mach para la comunicación entre procesos, junto con launchd, IOKit, los componentes de registro del sistema de Apple y otras herramientas fundamentales.

La idea básica de NextBSD es conservar el kernel de FreeBSD mientras se reemplazan partes del userland tradicional y orientado a servidores de FreeBSD con los componentes pertinentes de Darwin. Los sistemas operativos de Apple comparten una base común derivada de NeXTSTEP, que a su vez se construyó sobre Mach y BSD Unix.

Portar Darwin a hardware de PC convencional ha resultado difícil. OpenDarwin, fundado en 2002, terminó en 2006. PureDarwin lanzó versiones en 2015 y 2019 y se mantuvo al día hasta 2024. Otros proyectos incluyeron GNU Darwin y DarwinBSD.

Una nueva base de código y un ecosistema BSD en crecimiento

El proyecto reiniciado, llamado NextBSD-redux, no es un fork del código de NextBSD de hace una década. FreeBSD y Darwin han cambiado sustancialmente, por lo que Maloney ha comenzado una nueva implementación manteniendo la dirección general del proyecto original.

El README del nuevo repositorio documenta los componentes que funcionan actualmente, con más detalles en sus notas de portado. Aún no hay un escritorio gráfico, pero se está trabajando para llevar Gershwin a NextBSD. El estado del proyecto se rastrea en un repositorio separado, gershwin-on-nextbsd.

NextBSD también aprovecha código compartido entre proyectos relacionados. Usa librerías de ravynOS, incluido libxpc, que se originó con los desarrolladores del NextBSD original. El enfoque más amplio del proyecto es combinar componentes maduros de varios sistemas libres y de código abierto en lugar de construir cada pieza desde cero.

Esa estrategia conecta a NextBSD con varios esfuerzos anteriores similares a macOS. helloSystem 0.8, cubierto por The Register en 2023 tras un informe anterior en 2021, fue creado por Simon «ProbonoPD» Peter, quien también creó el formato de empaquetado AppImage. Se basó en FuryBSD, una distribución gráfica de FreeBSD que cerró en 2020, tras lo cual Peter pasó al desarrollo de Gershwin.

Peter había trabajado previamente en LIVEstep, una distribución en vivo basada en Linux y GNUstep, y formó parte del equipo central de PureDarwin. ravynOS comenzó con vínculos a helloSystem pero siguió un diseño más ambicioso, incluyendo compatibilidad binaria limitada con macOS a través del proyecto Darling. Su arquitectura actual se basa en Darwin 19.6, que corresponde a macOS 10.15 «Catalina».

Maloney anunció públicamente el reinicio en mayo, mencionándolo primero en un comentario de Reddit antes de ampliar la información sobre el proyecto en un hilo titulado «NextBSD: el BSD del siglo XXI». Los commits más antiguos en el repositorio público nextbsd-redux tienen actualmente solo dos meses, pero Maloney afirma que el trabajo ya había pasado por dos iteraciones anteriores en su cuenta personal de GitHub antes de mudarse a una organización. El proyecto ahora está dividido en repositorios para el kernel, los módulos, los kexts convertidos y las herramientas derivadas de Darwin, con compilación cruzada nativa y pruebas automatizadas utilizadas a lo largo del desarrollo.

El resultado sigue siendo un experimento: un posible sistema operativo para portátiles que combina el kernel de FreeBSD con partes seleccionadas del userland de Apple. Su próxima prueba importante será convertir esa colección de componentes en un sistema coherente y utilizable.

Tomas Berg

Computing Editor

Tomas lives in the terminal. He covers chips, laptops, and operating systems with a focus on performance and efficiency. He reads kernel changelogs the way other people read fiction, and he's always on the hunt for the perfect mechanical keyboard switch. If it processes data, Tomas has an opinion on it.

vía The Register

/ Sigue leyendo