Sobre o projeto

sd-boot instala kernels Linux e programas EFI na partição de boot usando o kernel-install do systemd. De acordo com o README, isso fornece uma maneira sistemática de instalar ou remover software inicializável da partição de boot. O kernel-install usa $BOOT para se referir à partição ou seu ponto de montagem, geralmente montado em /efi ou /boot. O README observa dois layouts recomendados: montar a ESP em /efi com uma partição XBOOTLDR opcional em /boot (a recomendação do kernel-install), ou montar a ESP em /boot. O sd-boot e o kernel-install funcionam com ambas as abordagens, e o projeto prefere a primeira. O projeto fornece hooks ALPM do pacman que instalam ou removem kernels e ferramentas EFI quando um pacote de kernel é instalado, atualizado ou removido; instaladores acionados por esses hooks; ferramentas de linha de comando para administradores reinstalarem ou removerem kernels diretamente; e plugins de kernel-install usados para entradas de loader para kernels não-UKI e ferramentas EFI. Instalar um kernel significa colocar a imagem na partição $BOOT para que possa ser inicializado, então os pacotes de kernel devem colocar as imagens de kernel apenas em /usr, assim como ferramentas EFI inicializáveis, como edk2-shell e memtest86+. A documentação é instalada em /usr/share/sd-boot/docs em HTML e PDF, e também está disponível no readthedocs. Páginas de manual estão incluídas para sd-boot-efifs-update, sd-boot-efi-tool-update, sd-boot-find-boot-mounts e sd-boot-kernel-update. O README descreve padrões de codificação: testes funcionais, análise estática com ferramentas como clang-tidy, análise de compilador como -fanalyzer, execuções limpas sob valgrind, revisão humana de código e revisões adicionais de IA. A configuração é dividida em configuração do kernel-install e configuração do sd-boot, ambas seguindo a ordem de prioridade do Linux com arquivos drop-in. O sd-boot fornece /usr/lib/kernel/install.conf.d/010-sd-boot-install.conf definindo layout=uki, initrd_generator=dracut e uki_generator=ukify, que podem ser substituídos em /etc/kernel/install.conf ou /etc/kernel/install.conf.d/. O README recomenda manter-se com UKI e dracut. Os arquivos de configuração do sd-boot ficam em /etc/sd-boot: config.yaml com configurações de verb e skip_kernel_plugins; efi-tool.packages listando nomes de pacotes de ferramentas EFI, como memtest86_64-git e edk2-shell; e kernel.packages listando pacotes de kernel gerenciados. Ferramentas EFI devem fornecer um arquivo nome-do-pacote.image contendo o caminho completo para o programa .efi; o sd-boot inclui edk2-shell.image e memtest86_64-git.image. Linhas de comentário começando com # são permitidas em todos os arquivos de configuração. Uma configuração padrão do dracut é fornecida em /usr/lib/dracut/dracut.conf.d/010-sd-boot-dracut.conf e pode ser substituída em /etc/dracut.conf.d/010-sd-boot-dracut.conf.