Note that this means EFI-systems with a manually added TPM device won't
be supported automatically, but given that the TPM2 trust model kinda
requires firmware support I doubt it matters supporting this. And in all
other cases it speeds things up a bit.
#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"
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");