mirror of
https://github.com/systemd/systemd
synced 2024-09-06 16:56:43 +00:00
![Lennart Poettering](/assets/img/avatar_default.png)
This adds two more phases to the PCR boot phase logic: "sysinit" + "final". The "sysinit" one is placed between sysinit.target and basic.target. It's good to have a milestone in this place, since this is after all file systems/LUKS volumes are in place (which sooner or later should result in measurements of their own) and before services are started (where we should be able to rely on them to be complete). This is particularly useful to make certain secrets available for mounting secondary file systems, but making them unavailable later. This breaks API in a way (as measurements during runtime will change), but given that the pcrphase stuff wasn't realeased yet should be OK.
26 lines
865 B
SYSTEMD
26 lines
865 B
SYSTEMD
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
#
|
|
# This file is part of systemd.
|
|
#
|
|
# systemd is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
[Unit]
|
|
Description=TPM2 PCR Barrier (Initialization)
|
|
Documentation=man:systemd-pcrphase-sysinit.service(8)
|
|
DefaultDependencies=no
|
|
Conflicts=shutdown.target
|
|
After=sysinit.target
|
|
Before=basic.target shutdown.target
|
|
AssertPathExists=!/etc/initrd-release
|
|
ConditionSecurity=tpm2
|
|
ConditionPathExists=/sys/firmware/efi/efivars/StubPcrKernelImage-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
ExecStart={{ROOTLIBEXECDIR}}/systemd-pcrphase sysinit
|
|
ExecStop={{ROOTLIBEXECDIR}}/systemd-pcrphase final
|