Daniel Kolesa d'Igalia, contributeur aux projets Void Linux, WebKit et Enlightenment, développe une nouvelle distribution appelée Chimera Linux. Ce projet utilise le noyau Linux, mais au lieu de l'outillage GNU, il crée un environnement utilisateur basé sur les éléments de la système FreeBSD, tout en utilisant LLVM pour la compilation. La distribution est initialement développée comme étant multiplateforme et prend en charge les architectures x86_64, ppc64le, aarch64, riscv64 et ppc64.
L'objectif du projet est de fournir une distribution Linux avec un outillage alternatif tout en tenant compte de l'expérience acquise lors du développement de Void Linux. Selon l'auteur, les composants utilisateur de FreeBSD sont moins complexes et mieux adaptés aux systèmes légers et compacts. La distribution est également influencée par la disponibilité sous licence permissive BSD. Les travaux propres à Chimera Linux sont également diffusés sous la licence BSD.
En plus de l'environnement utilisateur FreeBSD, la distribution inclut également des paquets de GNU Make, util-linux, udev et pam. Le système d'initialisation est basé sur le gestionnaire de systèmes portable dinit, disponible pour les systèmes Linux et BSD. La bibliothèque standard C musl est utilisée au lieu de glibc.
Pour l'installation de programmes supplémentaires, des paquets binaires ainsi qu'un système de compilation à partir du code source — cports, écrit en Python — sont proposés. L'environnement de compilation s'exécute dans un conteneur non privilégié, créé à l'aide de l'outil bubblewrap. Pour la gestion des paquets binaires, le gestionnaire de paquets APK (Alpine Package Keeper, apk-tools) issu d'Alpine Linux est utilisé (il était initialement prévu d'utiliser pkg de FreeBSD, mais des problèmes majeurs d'adaptation sont survenus).
Le projet est encore à un stade initial de développement — il y a quelques jours, nous avons réussi à permettre le chargement avec la possibilité pour l'utilisateur d'accéder en mode console. Un outil de bootstrap est fourni, permettant de reconstruire une distribution à partir de son propre environnement ou d'un environnement basé sur n'importe quelle autre distribution Linux. Le processus de construction comprend trois étapes : la construction des composants pour former le conteneur de l'environnement de construction, la reconstruction proprement dite à l'aide du conteneur préparé, et encore une autre reconstruction, mais déjà sur la base de l'environnement créé à la deuxième étape (la duplication est nécessaire pour exclure l'influence du système hôte d'origine sur le processus de construction).
Source : opennet.ru
