Recommendations for Debian 13 FDE with UKI and tpm secure boot
Setting up FDE, UKI an TPM 2 auto decryption on my Debian 13 machine
Hello Reddit,
I've been tinkering with Debian 13 as a server for my home. However, I kept running into issues where I would follow a guide to get my Debian 13 server into the desired state, only to be rewarded with various forms of broken.
Desired State:
UEFI Secure boot with a UKI and LUK full Disk encryption, minus /boot and ESP, back by TPM for auto drive unlocking.
Base system:
- Debian 13 net install ISO
- LVM + Encrpted Disk via luks and password
- One main partitions for / and separate for swap and /boot.
- Only standard and openssh were installed as part of tasksel
I followed various guides nut they seemed a bit incomplete to me.
It turns out that Debian 13's default initramfs uses the older \`initramfs-tools\`, rather than some of the newer alternatives, and \`systemd-cryptenroll\` doesn't work properly with it out of the box.
I also learned that `mokutil’ works with the shim/MOK key database, not the actual TPM hardware. Meanwhile, I was sitting there resetting TPM keys a few times, wondering why nothing happened.
So, I switched to Clevis for TPM-based unlocking, and now everything works. I hope it all correct. But I think that is a separate reddit question.
That brings me to my main questions:
- Should I switch from ‘initramfs-tools’ to ‘dracut’?
Dracut does offer some systemd benefits such as journald getting logs from the intitramfs stage. - Should I switch from GRUB to ‘systemd-boot’ and embrace the full systemd boot environment?
2.1. If so, can someone recommend a good guide or documentation for doing this properly? I've followed a few guides, but I always felt like I ended up in some sort of half-migrated state.
2.2. If I transition the boot infrastructure to ‘systemd-boot’ should I completely uninstall GRUB afterward?
I'm already making use of some of the systemd-related packages/tools, including ‘systemd-boot-efi’ and \`systemd-ukify\`.
- Is there an official Debian Wiki/documentation page that describes the recommended process for accomplishing the above?
If so, please point me in the right direction. ([https://wiki.debian.org/SecureBoot\](https://wiki.debian.org/SecureBoot) < is more of a faq)
Thank you in advance for your time and responses!