The FreeBSD developers have published a development report for the fourth quarter of 2024, mentioning the bsd-user-4-linux project, which is developing a toolkit for running applications built for FreeBSD on Linux. The project's goal is to achieve the ability to build using FreeBSD's toolkit in Linux, as well as the ability to create packages for FreeBSD in Linux using FreeBSD's native build tools.
To run FreeBSD executables, a fork of the QEMU emulator is employed, operating in User Mode Emulation mode, designed for executing processes compiled for other CPUs and operating systems. In this mode, QEMU translates system calls and handles signals. To run applications, libraries and settings from the base FreeBSD system need to be deployed in a local directory. The project can be considered a BSDlator—a reverse counterpart to Linuxulator.
At this stage of development, the essential system utilities (sh, bash, find, grep, git, clang, etc.) are running, dynamic linking and shared libraries are supported, and network functions are available. For instance, it's already possible to rebuild FreeBSD with the command "make -j80 buildworld" while in Linux. Notably, the inability to run the GDB debugger, lack of IPC, kevent/kqueue functionality, and some sysctl (for example, name2oid) are mentioned as missing features.
Additionally, the project is preparing container images with a FreeBSD working environment for various architectures (linux/386, linux/amd64, linux/arm/v5, and linux/arm64/v8) and providing GitHub Actions for creating such images.
Other events from the FreeBSD quarterly report include:
- The mdo utility for executing commands as another user, similar to the su utility, but using the mac_do kernel module and the setcred system call instead of setuid.
- Development of the AMD IOMMU driver for FreeBSD.
- A project aimed at improving FreeBSD performance on laptops.
- A project for infrastructure modernization.
- Efforts to support low power consumption modes S0ix and s2idle (Suspend-To-Idle).
- Enhancements to the OpenStack platform on FreeBSD.
- Improvements to the FreeBSD sound stack.
- Enhancements to OpenJDK on FreeBSD.
- Modernization of the pkg package manager for the PkgBase project (formatting base system components in a way suitable for management and updates via the pkg package manager).
- Resuming work on the umb driver for MBIM USB 4G/5G modems.
- Porting the iwx driver for Intel Wi-Fi chips from OpenBSD.
- Continuing work on the LinuxKPI layer to launch Linux drivers for wireless chips.
- The number of ports decreased from 36504 to 36332. Ports have been updated with 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.
- A security audit of the bhyve and Capsicum subsystems has been completed.
- Work is ongoing with Framework to support Framework laptops in FreeBSD (the Framework Laptop 13 based on AMD Ryzen 7040 has already been announced as supported).
- Efforts are underway to add recovery and system upgrade modes to the installer, as well as the ability to install packages in Live environments.
- Porting FreeBSD to the Pinephone Pro smartphone is ongoing.
- The AppJail, Director, and LittleJet tools are being developed to work with OCI-compatible containers in FreeBSD, using the FreeBSD jail isolation mechanism.
- The Pot tool for managing containers based on jail environments, ZFS, pf, and rctl is under development, supporting integration with the nomad container orchestration platform. A container image catalog called Potluck is being proposed as an alternative to Dockerhub for FreeBSD.
- Development of a graphical interface for managing the virtualization system based on the Bhyve hypervisor is in progress. Freepascal/Lazarus is being used for the development.
Source: opennet.ru
