Les développeurs du projet postmarketOS, qui développe la distribution Linux pour smartphones, basé sur le pack Alpine LinuxOpenRC, la bibliothèque standard C Musl et la suite d'utilitaires BusyBox ont annoncé la disponibilité du gestionnaire de systèmes systemd. Après près d'un an de travail sur l'implémentation de la prise en charge de systemd, un prototype utilisant systemd à la place du système d'initialisation OpenRC a été préparé et est disponible pour les tests.
La prise en charge de la création de versions basées sur OpenRC sera maintenue, au moins tant que ce système sera utilisé dans Alpine. LinuxLors de la création d'images postmarketOS, l'option permettant de sélectionner OpenRC dans pmbootstrap a été conservée. Les développeurs de versions utilisant l'interface graphique Sxmo (Simple X Mobile), basée sur le gestionnaire de composition Sway, prévoient notamment de continuer à utiliser OpenRC.
Les versions utilisant systemd continueront d'être construites sur la base du paquet Alpine. LinuxBien que cette distribution ne prenne pas en charge systemd et utilise la bibliothèque C Musl, les développeurs de postmarketOS sont contraints d'utiliser des correctifs supplémentaires. Ils prévoient d'intégrer progressivement ces correctifs au cœur de la distribution systemd (une collaboration est en cours avec les développeurs de systemd pour simplifier cette intégration).
La raison de l'implémentation du support systemd est la difficulté de maintenir une pile d'initialisation basée sur OpenRC face à la dépendance toujours croissante de GNOME et KDE vis-à-vis des composants systemd. Pour assurer la fonctionnalité de GNOME et KDE basés sur systemd, il était nécessaire d'utiliser différentes couches, et le coût du travail sans systemd était la nécessité de maintenir ces couches en bon état et de les synchroniser avec le développement de GNOME et KDE, en l'absence de certaines fonctions nécessaires dans les couches et l'imprévisibilité de la maintenance continue des développeurs.
Par exemple, pour la compatibilité avec les services nommés par hôte, localisés et datés, la couche openrc-settingsd a été utilisée, le package eudev a été utilisé à la place de udev, elogind a été utilisé à la place de logind, logbookd a été utilisé à la place de journald, le package superd a été utilisé pour fournir la fonctionnalité « systemd -user », et en remplacement systemd.timer a été utilisé par waked.

Parmi les couches utilisées, une maintenance appropriée et le niveau de prise en charge des fonctionnalités requises sont fournis uniquement dans openrc-settingsd et eudev. Les projets elogind, logbookd et superd continuent d'être maintenus, mais nécessitent des améliorations, car il leur manque certaines fonctionnalités nécessaires, et wakeded reste non maintenu pendant environ un an. De plus, les développeurs de KDE Plasma Mobile souhaiteraient utiliser le service systemd-coredumpd pour simplifier le débogage, mais son corecollector de remplacement n'est toujours pas maintenu en 2020.
Quant à la nécessité d'utiliser ces services, l'API D-Bus fournie par hostnamed, localed et timedated est utilisée dans GNOME pour modifier les paramètres régionaux, les paramètres système et les fuseaux horaires ; udev est requis pour gérer les appareils connectés ; logind, "systemd --user" et journald sont impliqués dans la gestion des sessions utilisateur dans gnome-session ; systemd.timer est utilisé par GNOME Clock.
Parmi les nouvelles fonctionnalités pouvant être implémentées dans les assemblys basés sur systemd, citons la gestion granulaire des privilèges, l'utilisation de fonctionnalités avancées pour assurer la sécurité et gérer les dépendances entre les services, l'intégration complète avec les groupes de contrôle, l'utilisation de l'activation de socket (par exemple, CUPS peut être lancé uniquement lors de l'accès au port réseau), la présence d'outils intégrés pour analyser le processus de démarrage.
Source: opennet.ru
