mirror of
https://github.com/systemd/systemd.git
synced 2024-11-27 12:13:33 +08:00
27dd678d2d
This mimics what we do for systemd-cryptsetup@.service (see src/shared/generator.c), and makes sense since repart might lock up the root volume against a TPM, which ideally has its SRK already set up by then. More importantly though, this ensures that we ordered correctly after tpm2.target (which systemd-tpm2-setup-early.service has a dependency on), for systems where the TPM drivers are not compiled into the kernel. See: https://lists.freedesktop.org/archives/systemd-devel/2024-April/050201.html
38 lines
1.3 KiB
Desktop File
38 lines
1.3 KiB
Desktop File
# 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=Repartition Root Disk
|
|
Documentation=man:systemd-repart.service(8)
|
|
|
|
ConditionVirtualization=!container
|
|
ConditionDirectoryNotEmpty=|/usr/lib/repart.d
|
|
ConditionDirectoryNotEmpty=|/usr/local/lib/repart.d
|
|
ConditionDirectoryNotEmpty=|/etc/repart.d
|
|
ConditionDirectoryNotEmpty=|/run/repart.d
|
|
ConditionDirectoryNotEmpty=|/sysusr/usr/lib/repart.d
|
|
ConditionDirectoryNotEmpty=|/sysusr/usr/local/lib/repart.d
|
|
|
|
DefaultDependencies=no
|
|
Wants=modprobe@loop.service modprobe@dm_mod.service
|
|
After=initrd-usr-fs.target modprobe@loop.service modprobe@dm_mod.service systemd-tpm2-setup-early.service
|
|
Before=initrd-root-fs.target
|
|
Conflicts=shutdown.target initrd-switch-root.target
|
|
Before=shutdown.target initrd-switch-root.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
ExecStart=systemd-repart --dry-run=no
|
|
|
|
# The tool returns 76 if it can't find the root block device
|
|
SuccessExitStatus=76
|
|
# The tool returns 77 if there's no existing GPT partition table
|
|
SuccessExitStatus=77
|