Les développeurs de FreeBSD ont publié un rapport sur l'évolution pour le quatrième trimestre de 2024, dans lequel est mentionné le projet bsd-user-4-linux, qui développe des outils pour exécuter sous Linux des applications conçues pour FreeBSD. L'objectif du projet est d'atteindre la capacité d'une compilation autonome, en utilisant les outils de FreeBSD sous Linux, ainsi que la possibilité de compiler des paquets pour FreeBSD sous Linux en utilisant les outils de compilation natifs de FreeBSD.
Pour exécuter des fichiers binaires FreeBSD, un fork de l'émulateur QEMU est utilisé, fonctionnant en mode User Mode Emulation, destiné à exécuter des processus compilés pour d'autres CPU et systèmes d'exploitation. Dans ce mode, QEMU effectue la translation des appels système et le traitement des signaux. Pour exécuter des applications, il est nécessaire de déployer des bibliothèques et des configurations locales à partir du système de base de FreeBSD. Le projet peut être considéré comme BSDlator, l'équivalent inversé de Linuxulator.
À ce stade de développement, le lancement des principales utilitaires système (sh, bash, find, grep, git, clang, etc.) est opérationnel, le lien dynamique et les bibliothèques partagées sont pris en charge, et des fonctionnalités réseau sont disponibles. Par exemple, il est déjà possible de reconstruire FreeBSD avec la commande "make -j80 buildworld", depuis Linux. Parmi les fonctionnalités manquantes, on note l'impossibilité de lancer le débogueur GDB, l'inaccessibilité de l'IPC, des fonctions kevent/kqueue et certains sysctl (par exemple, name2oid).
En outre, le projet se consacre à la préparation d'images de conteneurs avec un environnement de travail FreeBSD pour différentes architectures (linux/386, linux/amd64, linux/arm/v5 et linux/arm64/v8) et à la fourniture d'actions GitHub pour générer de telles images.
Parmi d'autres événements du rapport trimestriel de FreeBSD, on peut noter :
- L'utilitaire mdo pour exécuter des commandes sous un autre utilisateur, similaire à l'utilitaire su, mais utilisant le module noyau mac_do et l'appel système setcred au lieu de setuid.
- Développement d'un pilote AMD IOMMU pour FreeBSD.
- Projet d'amélioration de l'utilisation de FreeBSD sur les ordinateurs portables.
- Projet de modernisation de l'infrastructure.
- Travail sur la prise en charge des modes de faible consommation d'énergie S0ix et s2idle (Suspend-To-Idle).
- Amélioration du fonctionnement de la plateforme OpenStack sous FreeBSD.
- Amélioration de la pile audio de FreeBSD.
- Amélioration du fonctionnement d'OpenJDK sous FreeBSD.
- Modernisation du gestionnaire de paquets pkg pour le projet PkgBase (formatage des composants du système de base dans un format approprié pour leur gestion et mise à jour via le gestionnaire de paquets pkg).
- Reprise des travaux sur le pilote umb pour les modems MBIM USB 4G/5G.
- Portage du pilote iwx depuis OpenBSD pour les puces Wi-Fi Intel.
- Poursuite des travaux sur la couche LinuxKPI pour l'exécution des pilotes Linux pour les puces sans fil.
- Le nombre de ports a été réduit de 36504 à 36332. Les ports ont été mis à jour avec 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.
- Un audit de sécurité du code des sous-systèmes bhyve et Capsicum a été réalisé.
- Travail en cours avec l'entreprise Framework pour le support des ordinateurs portables Framework sous FreeBSD (le Framework Laptop 13 basé sur AMD Ryzen 7040 est déjà déclaré pris en charge).
- Des efforts sont déployés pour ajouter des modes de récupération et de mise à jour du système dans l'installateur, ainsi que la possibilité d'installer des paquets dans des environnements Live.
- Le portage de FreeBSD sur le smartphone Pinephone Pro se poursuit.
- Les outils AppJail, Director et LittleJet se développent pour organiser le travail avec des conteneurs compatibles OCI sous FreeBSD, utilisant le mécanisme d'isolation du FreeBSD jail.
- L'outil Pot se développe pour gérer des conteneurs basés sur des environnements jail, ZFS, pf et rctl, avec intégration à la plateforme d'orchestration de conteneurs nomad. Un catalogue d'images de conteneurs nommé Potluck, équivalent de Dockerhub pour FreeBSD, est proposé.
- Développement d'une interface graphique pour la gestion du système de virtualisation basé sur l'hyperviseur Bhyve. Le développement utilise Freepascal/Lazarus.
Source : opennet.ru
