Table of Contents

Exigences du kernel pour systemd

Cette section présente les exignces minimales du noyau pour pouvoir utiliser systemd.

https://github.com/systemd/systemd/blob/main/README

Version minimale du kernel

Options de configuration du noyau

Options de base API de chiffrement / hachage du noyau udev1) Facultatif mais fortement recommandé Contrôles des ressources systèmes UEFI Virtualisation 2)
CONFIG_DEVTMPFS CONFIG_CRYPTO_USER_API_HASH CONFIG_SYSFS_DEPRECATED = n 3) CONFIG_IPV6 CONFIG_CGROUP_SCHED4)
CONFIG_FAIR_GROUP_SCHED
CONFIG_EFIVAR_FS CONFIG_DEVPTS_MULTIPLE_INSTANCES5)
CONFIG_NET CONFIG_CRYPTO_HMAC CONFIG_UEVENT_HELPER_PATH = “”6) CONFIG_AUTOFS4_FS CONFIG_CFS_BANDWIDTH7) CONFIG_EFI_PARTITION CONFIG_AUDIT=n8)
CONFIG_INOTIFY_USER CONFIG_CRYPTO_SHA256 CONFIG_DMIID 9) CONFIG_TMPFS_XATTR CONFIG_CGROUP_BPF10) CONFIG_RT_GROUP_SCHED=n11)
CONFIG_SIGNALFD CONFIG_FW_LOADER_USER_HELPER = n12) CONFIG_ {TMPFS, EXT4_FS, XFS, BTRFS_FS, …} _ POSIX_ACL
CONFIG_TIMERFD CONFIG_BLK_DEV_BSG 13) CONFIG_SECCOMP
CONFIG_EPOLL CONFIG_NET_NS14) CONFIG_SECCOMP_FILTER 15)
CONFIG_SYSFS CONFIG_USER_NS16) CONFIG_CHECKPOINT_RESTORE 17)
CONFIG_PROC_FS
CONFIG_FHANDLE 18))
CONFIG_CGROUPS 19)
1)
udev est un gestionnaire de périphériques remplaçant devfs dans le noyau Linux depuis la version 2.6. Sa fonction principale est de gérer les périphériques dans le répertoire /dev.
2)
Virtualisation Si systemd est compilé avec le support libseccomp sur une architecture qui n'utilise pas socketcall() et où seccomp est pris en charge (cela signifie effectivement x86-64 et ARM, mais exclut x86 32 bits!), alors nspawn va installer un filtre seccomp de contournement qui permet aux conteneurs de démarrer même avec l'audit activé. Cependant cela ne fonctionne correctement que sur les noyaux 3.14 et plus récent
3)
CONFIG_SYSFS_DEPRECATED udev ne fonctionnera pas avec la disposition sysfs héritée
4)
CONFIG_CGROUP_SCHED Obligatoire pour CPUShares= dans les paramètres de l'unité de contrôle des ressources
5)
CONFIG_DEVPTS_MULTIPLE_INSTANCES ou noyau Linux> = 4.7 sont requis pour systemd-nspawn
6)
CONFIG_UEVENT_HELPER_PATH Le hotplug hérité ralentit le système et confond udev
7)
CONFIG_CFS_BANDWIDTH Obligatoire pour CPUQuota= dans les paramètres de l'unité de contrôle des ressources
8)
CONFIG_AUDIT L'audit du noyau est rompu lorsqu'il est utilisé avec les code conteneur systemd. Lorsqu'on veut utiliser systemd conjointement avec les conteneurs, il faut désactiver l'audit en utilisant l'option de ligne de commande du noyau audit=0, ou en le désactivant au moment de la compilation du noyau en utilisant
9)
CONFIG_DMIID Certaines règles udev et la détection de virtualisation en dépendent
10)
CONFIG_CGROUP_BPF Obligatoire pour IPAddressDeny= et IPAddressAllow= dans le contrôle des ressources réglages de l'unité
11)
CONFIG_RT_GROUP_SCHED Il est recommandé de désactiver la planification de groupe en temps réel dans le noyau lors de l'utilisation de systemd. L'activation de la planification de groupe RT rend la planification RT indisponible pour la plupart des espaces utilisateurs, car elle nécessite l'affectation explicite des budgets de RT à chaque unité processus utilisant la RT. Comme il n'y a aucun moyen sensé d'attribuer ces budgets automatiquement cela ne peut pas vraiment être fixe, et il est préférable de désactiver la planification de groupe par conséquent.
12)
CONFIG_FW_LOADER_USER_HELPER Le chargement du micrologiciel de l'espace utilisateur n'est pas pris en charge et devrait être désactivé dans le noyau
13)
CONFIG_BLK_DEV_BSG Prise en charge de la récupération du numéro de série de certains périphériques SCSI, crée des liens symboliques supplémentaires dans /dev/disk/ et /dev/tape
14)
CONFIG_NET_NS systemd-localed.service et d'autres unités systemd utilisent PrivateNetwork donc cela est nécessaire.
15)
CONFIG_SECCOMP_FILTER requis pour le support seccomp
16)
CONFIG_USER_NS Obligatoire pour PrivateUsers= en unités de service
17)
CONFIG_CHECKPOINT_RESTORE pour l'appel système kcmp()
18)
CONFIG_FHANDLE libudev, gestion du montage et de la liaison
19)
CONFIG_CGROUPS il est OK de désactiver tous les contrôleurs