À propos du projet

sd-boot installe les noyaux Linux et les programmes EFI sur la partition de démarrage à l'aide de kernel-install de systemd. Selon le README, cela fournit un moyen systématique d'installer ou de supprimer des logiciels amorçables depuis la partition de démarrage. kernel-install utilise $BOOT pour désigner la partition ou son point de montage, généralement monté sur /efi ou /boot. Le README mentionne deux dispositions recommandées : monter l'ESP sur /efi avec une partition XBOOTLDR facultative sur /boot (la recommandation de kernel-install), ou monter l'ESP sur /boot. sd-boot et kernel-install fonctionnent avec l'une ou l'autre approche, et le projet préfère la première. Le projet fournit des hooks ALPM de pacman qui installent ou suppriment les noyaux et les outils EFI lorsqu'un paquet de noyau est installé, mis à jour ou supprimé ; des installateurs déclenchés par ces hooks ; des outils en ligne de commande permettant aux administrateurs de réinstaller ou supprimer directement des noyaux ; et des plugins kernel-install utilisés pour les entrées de chargeur pour les noyaux non-UKI et les outils EFI. Installer un noyau signifie placer l'image dans la partition $BOOT afin qu'elle puisse être amorcée, donc les paquets de noyau ne devraient placer les images de noyau que dans /usr, tout comme les outils EFI amorçables tels que edk2-shell et memtest86+. La documentation est installée sous /usr/share/sd-boot/docs en HTML et PDF, et est également disponible sur readthedocs. Des pages de manuel sont incluses pour sd-boot-efifs-update, sd-boot-efi-tool-update, sd-boot-find-boot-mounts et sd-boot-kernel-update. Le README décrit les normes de codage : tests fonctionnels, analyse statique avec des outils tels que clang-tidy, analyse du compilateur telle que -fanalyzer, exécutions propres sous valgrind, revue humaine du code et revues supplémentaires par IA. La configuration est divisée en configuration kernel-install et configuration sd-boot, toutes deux suivant l'ordre de priorité Linux avec des fichiers drop-in. sd-boot fournit /usr/lib/kernel/install.conf.d/010-sd-boot-install.conf définissant layout=uki, initrd_generator=dracut et uki_generator=ukify, qui peuvent être remplacés dans /etc/kernel/install.conf ou /etc/kernel/install.conf.d/. Le README recommande de s'en tenir à UKI et dracut. Les fichiers de configuration de sd-boot se trouvent dans /etc/sd-boot : config.yaml avec les paramètres verb et skip_kernel_plugins ; efi-tool.packages listant les noms de paquets d'outils EFI tels que memtest86_64-git et edk2-shell ; et kernel.packages listant les paquets de noyau gérés. Les outils EFI doivent fournir un fichier nom-paquet.image contenant le chemin complet vers le programme .efi ; sd-boot inclut edk2-shell.image et memtest86_64-git.image. Les lignes de commentaire commençant par # sont autorisées dans tous les fichiers de configuration. Une configuration dracut par défaut est fournie à /usr/lib/dracut/dracut.conf.d/010-sd-boot-dracut.conf et peut être remplacée dans /etc/dracut.conf.d/010-sd-boot-dracut.conf.