Sobre el proyecto

sd-boot instala kernels de Linux y programas EFI en la partición de arranque usando kernel-install de systemd. Según el README, esto proporciona una forma sistemática de instalar o eliminar software arrancable de la partición de arranque. kernel-install usa $BOOT para referirse a la partición o su punto de montaje, generalmente montado en /efi o /boot. El README señala dos diseños recomendados: montar la ESP en /efi con una partición XBOOTLDR opcional en /boot (la recomendación de kernel-install), o montar la ESP en /boot. sd-boot y kernel-install funcionan con ambos enfoques, y el proyecto prefiere el primero. El proyecto proporciona hooks de pacman ALPM que instalan o eliminan kernels y herramientas EFI cuando un paquete de kernel se instala, actualiza o elimina; instaladores activados por esos hooks; herramientas de línea de comandos para que los administradores reinstalen o eliminen kernels directamente; y plugins de kernel-install usados para entradas de cargador para kernels no-UKI y herramientas EFI. Instalar un kernel significa colocar la imagen en la partición $BOOT para que pueda arrancarse, por lo que los paquetes de kernel deben colocar las imágenes de kernel solo en /usr, al igual que las herramientas EFI arrancables como edk2-shell y memtest86+. La documentación se instala en /usr/share/sd-boot/docs en HTML y PDF, y también está disponible en readthedocs. Se incluyen páginas man para sd-boot-efifs-update, sd-boot-efi-tool-update, sd-boot-find-boot-mounts y sd-boot-kernel-update. El README describe estándares de codificación: pruebas funcionales, análisis estático con herramientas como clang-tidy, análisis de compilador como -fanalyzer, ejecuciones limpias bajo valgrind, revisión de código humana y revisiones adicionales con IA. La configuración se divide en configuración de kernel-install y configuración de sd-boot, ambas siguiendo el orden de prioridad de Linux con archivos drop-in. sd-boot incluye /usr/lib/kernel/install.conf.d/010-sd-boot-install.conf que establece layout=uki, initrd_generator=dracut y uki_generator=ukify, que se pueden sobrescribir en /etc/kernel/install.conf o /etc/kernel/install.conf.d/. El README recomienda mantener UKI y dracut. Los archivos de configuración de sd-boot viven en /etc/sd-boot: config.yaml con ajustes de verb y skip_kernel_plugins; efi-tool.packages que lista nombres de paquetes de herramientas EFI como memtest86_64-git y edk2-shell; y kernel.packages que lista paquetes de kernel gestionados. Las herramientas EFI deben proporcionar un archivo nombre-de-paquete.image que contenga la ruta completa al programa .efi; sd-boot incluye edk2-shell.image y memtest86_64-git.image. Se permiten líneas de comentario que comiencen con # en todos los archivos de configuración. Se proporciona una configuración predeterminada de dracut en /usr/lib/dracut/dracut.conf.d/010-sd-boot-dracut.conf y puede sobrescribirse en /etc/dracut.conf.d/010-sd-boot-dracut.conf.