# Secure boot Secure boot is sometimes a necessity when working with a windows dual boot on laptops and also an extra layer of protection for your system. For linux to work with secureboot it's necessary to enroll keys using sbctl. ``` # xbps-install -Sy sbctl sbsigntool ``` Then to create keys, enroll them and sign the executables with it. ``` # sbctl create-keys # sbctl enroll-keys # sbctl sign -s /boot/EFI/Boot/BOOTX64.EFI # sbctl sign -s /boot/EFI/gummiboot/gummibootx64.efi # sbctl sign -s /boot/vmlinuz- ``` If you get an error with enrolling the keys it might be necessary to add the `--microsoft` flag. Then to check if it worked. ``` # sbctl verify ``` The kernels can automatically be signed after an update thanks to the `sbsigntool` package. Configure it `/etc/default/sbsigntool-kernel-hook` and change the options: ``` SBSIGN_EFI_KERNEL=1 EFI_KEY_FILE=/usr/share/secureboot/keys/db/db.key EFI_CERT_FILE=/usr/share/secureboot/keys/db/db.pem ``` > Don't forget to turn on secureboot in your bios! To check if your system is actually using secureboot run: ``` $ sbctl status ```