diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index ebd59ca68c..dcaedac53e 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -17,6 +17,7 @@ #include "cryptsetup-tpm2.h" #include "cryptsetup-util.h" #include "device-util.h" +#include "efi-loader.h" #include "escape.h" #include "fileio.h" #include "fs-util.h" @@ -1136,6 +1137,10 @@ static int attach_luks_or_plain_or_bitlk_by_tpm2( assert(!event); + if (is_efi_boot() && !efi_has_tpm2()) + return log_notice_errno(SYNTHETIC_ERRNO(EAGAIN), + "No TPM2 hardware discovered and EFI bios indicates no support for it either, assuming TPM2-less system, falling back to traditional unocking."); + r = sd_event_default(&event); if (r < 0) return log_error_errno(r, "Failed to allocate event loop: %m");