Executive summary
mkinitcpio version 42-1 now includes systemd-pcrosseparator.service through the systemd hook, in line with the systemd v261 changes. This affects PCR values 0-7, 9, and 12-14, so TPM2 configurations that unlock LUKS volumes based on those measurements must be re-enrolled.
Problem addressed
I read the Arch Linux announcement about changes to mkinitcpio Starting with package version 42-1, the systemd hook now includes systemd-pcrosseparator.service as intended by systemd v261. following systemd v261.
This is not a minor update: previously measured PCR values may change due to Presence of a new service in the initrd. Calculated PCR values for PCR 0-7, 9, and 12-14 may change. If LUKS unlock depends on the old values, the TPM2 key becomes unusable until re-enrollment.
Key features and code examples
The important change is to the PCR signature, not the number of policies or new options. Archmerekomendasikan two jalur handled,分别:
systemd-cryptenroll(1)or the ArchWiki articlesystemd-cryptenrollto use pinned values.systemd-pcrlock(8)for custom policies whensystemd-pcrlock-make-policy.serviceis disabled.
Example verification, for illustration:
systemd-analyze pcrs
bootctl status
systemctl status systemd-pcrosseparator.serviceExample TPM2 LUKS configuration using systemd-cryptenroll, for illustration:
systemd-cryptenroll --tpm2-device=auto /dev/nvme0n1p2Impact and upgrade notes
Check whether your initrd uses the systemd hook and whether LUKS unlocking depends on PCR 0-7, 9, or 12-14. If so, re-enroll TPM2 before the change locks you out.
For pinned values, follow the systemd-cryptenroll(1) documentation. For custom policies with systemd-pcrlock-make-policy.service disabled, use the systemd-pcrlock(8) reference. Systems that do not rely on TPM2-based LUKS unlocking require no special action for this change.
---
First announced in Arch Linux News. Read the original source for full details.