Context
Tracks the bcvk-side implementation for BLOCKER-006 (yubiOS ADR-016 §Feature 1).
Related: yubi-OS/yubiOS#34 (yubiOS-side drop-in + spec committed)
Goal
Enable swtpm (IBM software TPM 2.0) in bcvk ephemeral CI VMs so:
/dev/tpm0 is available inside the VM
systemd-tpm2-swtpm.service starts successfully
ConditionSecurity=measured-os passes in yubiOS-enroll.service CI tests
- TPM2 code paths (PCR measurements, LUKS PCR binding) are covered without physical hardware
yubiOS production trust anchor remains YubiKey FIDO2 (ADR-003). swtpm is for test coverage only.
Scope
-
Add packages to bcvk test image:
dnf install -y swtpm swtpm-tools
-
Enable the service in the VM preset:
systemctl enable systemd-tpm2-swtpm.service
-
Add --feature tpm2-swtpm to bcvk run (or auto-detect from the drop-in presence in the image).
-
Verify /dev/tpm0 before tests — bcvk should wait for the socket before handing control to the test harness.
Gate
Requires systemd >= 261 in the test image (systemd-tpm2-swtpm.service is a v261 addition). The yubiOS base image 45.20260625.0 carries systemd-261-2.fc45 ✅.
References
Context
Tracks the bcvk-side implementation for BLOCKER-006 (yubiOS ADR-016 §Feature 1).
Related: yubi-OS/yubiOS#34 (yubiOS-side drop-in + spec committed)
Goal
Enable swtpm (IBM software TPM 2.0) in bcvk ephemeral CI VMs so:
/dev/tpm0is available inside the VMsystemd-tpm2-swtpm.servicestarts successfullyConditionSecurity=measured-ospasses inyubiOS-enroll.serviceCI testsyubiOS production trust anchor remains YubiKey FIDO2 (ADR-003). swtpm is for test coverage only.
Scope
Add packages to bcvk test image:
Enable the service in the VM preset:
Add
--feature tpm2-swtpmtobcvk run(or auto-detect from the drop-in presence in the image).Verify
/dev/tpm0before tests — bcvk should wait for the socket before handing control to the test harness.Gate
Requires systemd >= 261 in the test image (
systemd-tpm2-swtpm.serviceis a v261 addition). The yubiOS base image45.20260625.0carriessystemd-261-2.fc45✅.References