Noticia ravynOS, un FreeBSD con sabor a MacOS

screenshot de ravynOS


En algunas ocasiones he compartido aquí en el blog noticias sobre otros sistemas operativos que no son Linux, ya que a pesar de que la temática del blog se enfoca en hablar de Linux y todo a su alrededor, me he tomado el atrevimiento de compartir noticias fuera de, pero tratando de que continúen sobre la linea del «open source» y relacionado con él.

Sobre ese tipo de noticias, las que más se puede en numerar son las relacionadas con FreeBSD, el cual como sabrán también es un OS de código abierto y que en esta ocasión hablaremos sobre el proyecto ravynOS, el cual es un sistema operativo basado en FreeBSD diseñado para lograr compatibilidad con aplicaciones macOS y ofrecer un entorno de usuario estilo macOS.

Sobre ravynOS​


El proyecto ravynOS tiene como objetivo principal lograr compatibilidad con aplicaciones macOS tanto a nivel de código fuente como de archivos ejecutables y en el primer caso, se busca permitir la recompilación del código de las aplicaciones macOS para que se ejecuten en ravynOS. En el segundo caso, se están realizando modificaciones en el kernel y las utilidades para ejecutar los archivos ejecutables Mach-O compilados para arquitecturas x86-64 y arm64.

Para lograr la compatibilidad con macOS, ravynOS incluye una implementación parcial de la interfaz de programación en tiempo de ejecución Cocoa y Objective-C, ubicada en /System/Library/Frameworks, además de compiladores y enlazadores modificados para soportarlos. Además de la capa de compatibilidad con macOS, ravynOS ofrece la capacidad de ejecutar aplicaciones Linux a través de la infraestructura de emulación de Linux de FreeBSD (Linuxulator).

Las aplicaciones en ravynOS pueden ser diseñadas como paquetes de aplicaciones independientes en formato AppImage, que se pueden ubicar en los directorios /Applications o ~/Applications. Estos programas no requieren instalación ni el uso de un administrador de paquetes; simplemente se arrastran, sueltan e inician el archivo AppImage. Al mismo tiempo, se mantiene la compatibilidad con los paquetes tradicionales de FreeBSD.

En ravynOS los sistemas de archivos soportados incluyen ZFS y los sistemas de archivos HFS+ y APFS utilizados en macOS, además de las jerarquías específicas de FreeBSD (/usr y /usr/local), se han creado directorios específicos de macOS como /Library, /System y /Volumes. Los directorios de inicio de los usuarios están ubicados en /Users, y cada directorio de inicio contiene un subdirectorio ~/Library para aplicaciones que usan la interfaz de programación Cocoa de Apple.

El entorno gráfico de ravynOS se basa en su propio servidor de ventanas, que utiliza un servidor labwc compuesto simplificado, wlroots y el protocolo Wayland. Este entorno ha sido diseñado eliminando la compatibilidad con la decoración y temas de ventanas del lado del servidor. Las aplicaciones gráficas pueden utilizar los marcos Qt y Cocoa para su funcionamiento en este entorno.

La interfaz gráfica de ravynOS está diseñada con conceptos típicos de macOS, como una barra superior con un menú global, una estructura de menú idéntica, atajos de teclado similares, un administrador de archivos Filer con estilo similar y soporte para comandos como launchctl y open. Estos elementos están pensados para proporcionar a los usuarios una experiencia familiar y cómoda, similar a la de usar macOS.

Cabe mencionar que actualmente ravynOS se ha actualizado a su versión 0.5 la cual llega construido sobre la base de la rama FreeBSD 15-CURRENT y se suspendió el uso de ports de FreeBSD, trasladando todos los componentes necesarios al repositorio del sistema.

Además de ello, se destaca que se ha introducido una implementación inicial de un panel Dock gráfico que incluye un pequeño conjunto de íconos básicos. Este panel permite iniciar programas, colocar accesos directos a aplicaciones y configurar el fondo de pantalla del escritorio al estilo macOS. La configuración actual del panel se realiza editando el archivo plist en ~/Library/Preferences.

De los demás cambios:

  • El paquete principal ahora incluye el editor de texto turbo, junto con herramientas como cmake, gmake, nasm y GNU binutils.
  • Los archivos ensambladores de los marcos para Cocoa y Objective-C permiten vincular objetos en subdirectorios, simplificando la transferencia de código entre diferentes subdirectorios a una biblioteca.
  • Se ha descontinuado el uso del repositorio de paquetes, pero aún es posible instalar paquetes desde los repositorios de FreeBSD en el directorio /usr/local mediante el comando pkg.
  • Se ha añadido una nueva utilidad de compilación llamada build.sh, que simplifica el proceso de compilación del sistema y la creación de una imagen ISO personalizada que arranca en modo Live.
  • Se ha añadido soporte para la clase NSStatusItem, que permite a las aplicaciones Cocoa mover menús al panel global.

Finalmente si estás interesado en poder conocer más al respecto, debes saber que los desarrollos del proyecto se distribuyen bajo licencia BSD, y la imagen ISO de arranque tiene un tamaño de 869 MB (x86_64). Puedes consultar más al respecto del proyecto en el siguiente enlace.

Continúar leyendo...