SYSTEMD-TPM2-GENERATOR(8)
๐ NAME ๐
okay bestie, so systemd-tpm2-generator โ it's the generator that plants a TPM2 synchronization point in your boot process. that's the whole gig. slay. โจ
๐ธ SYNOPSIS ๐ธ
/usr/lib/systemd/system-generators/systemd-tpm2-generator
๐ฆ DESCRIPTION ๐ฆ
so here's the tea, systemd-tpm2-generator is a generator (yes, like systemd.generator(7) โ we'll get there) and what it does is: it looks around, and if it spots that the firmware found a TPM2 device but the OS kernel hasn't shown one yet? it goes ahead and adds a Wants= dependency from sysinit.target to tpm2.target. literally just drops it in there. ๐
and why do we care? because tpm2.target is the moment in boot that's supposed to act as a synchronization point for every single service that needs to touch the TPM2 device. like, everybody wait up, the TPM isn't ready yet. peek systemd.special(7) for the deets on that. ๐
๐ the kernel command line overrides ๐
ngl, these are the fun part. you can boss the generator around from the kernel command line.
systemd.tpm2_wait=โ this one overrides how the generator behaves. it takes a boolean value:- if true, then
tpm2.targetgets added as a synchronization point even if the firmware hasn't detected a TPM2 device at all. like, we're waiting no matter what, bestie. - if false, then the target will not be inserted, even if the firmware did report a device but the OS kernel isn't exposing a device for it yet. when is this useful? in environments where a suitable TPM2 driver for the hardware you've got justโฆ isn't available. sad but real. ๐ญ
- if true, then
systemd.tpm2_software_fallback=โ this one takes a boolean argument too, and it defaults tofalse. turn it on and you get an automatic software TPM fallback in case a hardware TPM isn't detected and swtpm(8) is available. and because it's a package deal, this pulls in thesystemd-tpm2-swtpm.service(8)service. obsessed. ๐ซถ
also just so we're clear: systemd-tpm2-generator implements systemd.generator(7). no cap.
๐ SEE ALSO ๐
okay that's the whole page, you ate it up fr fr ๐ this little icon was brought to you by systemd 262.1 โ the systemd-tpm2-generator manual, page 8, dated whenever this version dropped. go forth and synchronize, bestie ๐โจ
๐ฆ where this page comes from
- arch rolling: systemd 262.1-1 ยท LGPL-2.1-or-later AND CC0-1.0 AND GPL-2.0-or-later AND MIT-0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms