FreeBSD ya puede ser construido desde otros sistemas operativos

octubre 25, 2020 , 0 Comments

Los desarrolladores de FreeBSD han publicado un informe de progreso del proyecto de julio a septiembre de 2020. El logro más significativo fue la capacidad de construir el sistema FreeBSD base en entornos basados ​​en otros sistemas operativos. La necesidad de construir sobre otros sistemas operativos está impulsada por el deseo de utilizar herramientas de integración continua específicas de Linux o macOS para probar FreeBSD.

El trabajo en la implementación de cross-build ha continuado desde 2017 y en septiembre se incluyó el último parche, que es necesario para el trabajo completo de buildworld y buildkernel en otros sistemas operativos. La compilación se inicia con una capa especialmente preparada ./tools/build/make.py y se puede realizar en sistemas con LLVM 10 u 11 instalado.

Otros de los cambios incluyen las subvenciones de la Fundación FreeBSD están trabajando para mejorar el soporte de WiFi, mejorar el marco de KPI de Linux para la compatibilidad con las API DRM del kernel de Linux, mejorar la compatibilidad de Linuxulator con aplicaciones, actualizar controladores de gráficos, agregar compresión Zstd a OpenZFS, expandir particiones RAID-Z sobre la marcha, soporte mejorado para el depurador LLDB.

Por otra parte la FreeBSD Foundation también está trabajando para mejorar Run-Time Dynamic Linker (rtld) y el cargador ELF, mejorar el bloqueo de sockets de dominio UNIX, actualizar la infraestructura de compilación, extender el soporte ARM64 y migrar el repositorio a Git.

Además, se han resuelto todos los problemas conocidos en svn2git, incluidas las inconsistencias de metadatos en el registro de cambios de Subversion. La transición final a Git se llevará a cabo en preparación para el lanzamiento de FreeBSD 13.0. Aún no hay planes para traducir el desarrollo de ramas estables existentes a Git.

A finales de octubre, se planean lanzar un repositorio de Git de prueba para ejecutar enlaces y familiarizar a los desarrolladores. Se espera que los repositorios src y doc principales se migren a Git a mediados de noviembre, mientras que los plazos para los repositorios del puerto aún no se han determinado.

FreeBSD Ports Collection ha superado el hito de los 40.000 ports, con 2525 PR abiertos, de los cuales 595 PR aún no se han analizado. Versiones actualizadas de Perl 5.32, PostgreSQL 12, PHP 7.4, GNOME 3.36, Qt5 5.15.0, Emacs a 27.1, KDE Frameworks 5.74.0 y pkg 1.15.8. Se ha implementado la compatibilidad con LibreOffice 7.0.

Mesa y los ports relacionados se han movido para usar el sistema de construcción meson en lugar de autotools, X.org se actualizado 1.20.9, libdrm y libevdev. Los controladores gráficos drm están sincronizados con el kernel de Linux 5.4.62. Las principales bases de código libdrm y libevdev se han modificado para admitir FreeBSD.

Se ha trabajado en el uso de udev/evdev y libinput para mejorar la compatibilidad con dispositivos de entrada que ya no requieren configuraciones locales. El cambio se propondrá en la versión del 27 de octubre de FreeBSD 12.2.

En la infraestructura de emulación del entorno Linux (Linuxulator), se ha comenzado a trabajar para solucionar problemas con el funcionamiento de aplicaciones específicas de Linux (por ejemplo, se están analizando los motivos de la inoperabilidad de Chromium, Firefox, DB2, Oracle, EAGLE, Memcached, Nginx, Steam, signal-desktop, VLC, 1password).

Durante el período del informe, la versión del kernel de Linux anunciada por el emulador se elevó a 3.10.0 (como en RHEL 7), se mejoró la llamada gettynam en chroot, se mejoró la compatibilidad con memfd, se agregaron la llamada al sistema de empalme y BLKPBSZGET ioctl, y se implementó la compatibilidad con kcov.

Se agregó un nuevo sysctl compat.linux.use_emul_path. Manejo de errores reelaborado. El port sysutils/debootstrap se ha actualizado a la versión 1.0.123 para crear entornos aislados con Debian y Ubuntu. Los cambios se incluirán en la versión 12.2.

Los archivos DTS (Device Tree Sources) se sincronizan con el kernel de Linux 5.8 en la rama HEAD y con el kernel 5.6 en la rama 12-STABLE.

Se sigue trabajando en la implementación de la posibilidad de trabajo NFS sobre un canal de comunicación cifrado basado en TLS 1.3, en lugar de utilizar Kerberos (modo sec = krb5p), que se limita a cifrar solo mensajes RPC y se implementa solo en software. La nueva implementación utiliza la pila TLS proporcionada por el kernel para habilitar la aceleración de hardware.

Fuente:


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.