Pourquoi openSUSE a choisi Systemd-boot

Pourquoi openSUSE a choisi Systemd-boot

Exit GRUB2 ! Depuis quelques jours, openSUSE Tumbleweed et MicroOS proposent une image qui utilise systemd-boot comme chargeur de démarrage et un chiffrement intégral du disque basé également sur systemd. Objectifs : une distribution plus sécurisée et allégée. Explications.

Les développeurs le reconnaissent : d’un côté, GRUB2 un bon chargeur de démarrage. De l’autre, il est également volumineux, complexe et il a tendance à évoluer lentement. C’est ici qu’intervient systemd-boot.

De GRUB2 à systemd-boot

Aujourd’hui, le paquet openSUSE pour ce chargeur de démarrage contient plus de 200 correctifs. L’UEFI, apparu il y a 18 ans, rend presque toutes les fonctionnalités fournies par GRUB2 redondantes. Au fil du temps, de nouveaux chargeurs d’amorçage plus simples, axés sur l’UEFI, sont apparus, comme gummiboot. Plus tard, ce code a été intégré à systemd et renommé systemd-boot.

Le code de systemd-boot est très simple. Il s’agit essentiellement d’un très petit binaire EFI qui présente un menu avec les différentes entrées du chargeur de démarrage et un appel à la fonction LoadImage de l’UEFI pour déléguer l’exécution au noyau sélectionné.

Fournir systemd-boot comme alternative à GRUB2 était un souhait d’openSUSE depuis longtemps. En août 2023, /thread/4FNZ7HEPH6KQQ2JVFNPN7PXWHZZRU5H5/" class="external external_icon" target="_blank">une annonce a été faite, sur la liste de diffusion Factory, pour l’intégration de systemd-boot par Tumbleweed. Aujourd’hui, openSUSE Tumbleweed et MicroOS sont tous deux concernés.

2 limitations actuelles peuvent aisément être contournées. La dépendance à l’UEFI réduit le nombre d’architectures supportées (x86-64 et aarch64). Un correctif existe déjà, et il pourrait être ajouté au paquet. Autre problème : systemd-boot ne comprend pas btrfs. Il ne peut lire des fichiers qu’à partir d’un système de fichiers FAT32. Cette limitation peut être résolue en déplaçant le noyau et l’initrd dans la partition système EFI (ESP).

Chiffrement intégral du disque

L’autre nouvelle est la prise en charge du chiffrement intégral du disque (FDE) basé sur systemd.

La fonction FDE (full disk encryption) n’est pas une nouveauté en soi. GRUB2 pouvait déverrouiller les volumes LUKS depuis longtemps grâce à la commande cryptomount.

L’utilisation de systemd-boot offre une architecture alternative pour le chiffrement intégratl du disque, qui peut fonctionner avec n’importe quel chargeur de démarrage qui suit le BLS. Les détails techniques sont expliqués sur le blog officiel d’openSUSE.

Retour en haut