Los desarrolladores de FreeBSD publicaron un informe sobre el desarrollo del cuarto trimestre de 2024, en el cual se menciona el proyecto bsd-user-4-linux, que desarrolla herramientas para ejecutar aplicaciones, compiladas para FreeBSD, en Linux. El objetivo del proyecto es lograr la capacidad de compilación propia utilizando herramientas de FreeBSD en Linux, así como la posibilidad de compilar paquetes para FreeBSD en Linux utilizando el entorno de compilación nativo de FreeBSD.
Para ejecutar archivos ejecutables de FreeBSD se utiliza un fork del emulador QEMU, que trabaja en modo de emulación de usuario, diseñado para ejecutar procesos compilados para otras CPU y sistemas operativos. En este modo, QEMU realiza la traducción de llamadas al sistema y el manejo de señales. Para ejecutar aplicaciones, es necesario desplegar en el directorio local las bibliotecas y configuraciones del sistema base de FreeBSD. El proyecto puede considerarse como un BSDlator, el análogo inverso de Linuxulator.
En la etapa actual del desarrollo, se logra ejecutar las principales utilidades del sistema (sh, bash, find, grep, git, clang, etc.), se admite el enlace dinámico y las bibliotecas compartidas, y se encuentran disponibles funciones de red. Por ejemplo, ya es posible volver a compilar FreeBSD con el comando «make -j80 buildworld» estando en Linux. Se señala como funcionalidad ausente la imposibilidad de ejecutar el depurador GDB, la falta de IPC, las funciones kevent/kqueue y algunos sysctl (por ejemplo, name2oid).
Además, el proyecto se ocupa de la preparación de imágenes de contenedores con un entorno de trabajo de FreeBSD para diversas arquitecturas (linux/386, linux/amd64, linux/arm/v5 y linux/arm64/v8) y de proporcionar GitHub Actions para la creación de tales imágenes.
Otros eventos del informe trimestral de FreeBSD incluyen:
- La utilidad mdo para ejecutar comandos bajo otro usuario, similar a la utilidad su, pero que utiliza en lugar de setuid el módulo del núcleo mac_do y la llamada al sistema setcred.
- Desarrollo de un controlador AMD IOMMU para FreeBSD.
- Proyecto para mejorar el funcionamiento de FreeBSD en portátiles.
- Proyecto para modernizar la infraestructura.
- Trabajo para soportar los modos de bajo consumo de energía S0ix y s2idle (Suspend-To-Idle).
- Mejora del funcionamiento de la plataforma OpenStack en FreeBSD.
- Mejora de la pila de sonido de FreeBSD.
- Mejora del funcionamiento de OpenJDK en FreeBSD.
- Modernización del gestor de paquetes pkg para el proyecto PkgBase (organización de los componentes del sistema base en un formato apto para la gestión y actualización mediante el gestor de paquetes pkg).
- Reanudación del trabajo en el controlador umb para módems USB 4G/5G MBIM.
- Portación del controlador iwx de OpenBSD para chips Wi-Fi de Intel.
- Continuación del trabajo en la capa LinuxKPI para la ejecución de controladores de Linux en chips inalámbricos.
- El número de puertos se ha reducido de 36504 a 36332. En los puertos se han actualizado Xfce 4.20, LXQt 2.1.0, PHP 8.3, KDE Plasma 6.2.4, Qt 6.8.1, Python 3.9.21, Python 3.11.11, Ruby 3.3.6, Rust 1.83.0, SDL 3.1.6, Sway 1.10, Tor Browser 14.0.3.
- Se realizó una auditoría de seguridad del código de los subsistemas bhyve y Capsicum.
- En colaboración con la empresa Framework, se está trabajando en el soporte de los portátiles Framework en FreeBSD (ya se ha declarado el soporte para el Framework Laptop 13 basado en AMD Ryzen 7040).
- Se está trabajando para agregar modos de recuperación y actualización del sistema en el instalador, así como la posibilidad de instalar paquetes en entornos Live.
- Continúa la portación de FreeBSD al smartphone Pinephone Pro.
- Se desarrollan las herramientas AppJail, Director y LittleJet para trabajar con contenedores compatibles con OCI en FreeBSD, utilizando el mecanismo de aislamiento FreeBSD jail.
- Se desarrolla la herramienta Pot para la gestión de contenedores basados en entornos jail, ZFS, pf y rctl, que soporta integración con la plataforma de orquestación de contenedores nomad. Se propone un catálogo de imágenes de contenedores Potluck, que actúa como equivalente a Dockerhub para FreeBSD.
- Se está desarrollando una interfaz gráfica para gestionar el sistema de virtualización basado en el hipervisor Bhyve. Se utiliza Freepascal/Lazarus para el desarrollo.
Fuente: opennet.ru
