mirror of
https://github.com/systemd/systemd.git
synced 2025-03-13 00:58:27 +03:00
This introduces a bunch of facilities: 1. The factory-reset.target unit that requests a factory reset is now complemented by factory-reset-now.target that executes it at next boot. 2. This latter is added to the initial transaction via the new trivial systemd-factory-reset-generator. 3. A tool systemd-factory-reset has been added to query, request, cancel, complete factory reset operations (via EFI variables). Two of these are wrapped into units that are plugged into factory-reset.target and factory-reset-now.target respectively. The tool also provides a simple Varlink API. This should make things a lot cleaner, and both be useful as explicit implementation on UEFI, and as template + hookpoints for alternative implementations on non-UEFI.
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 factory-reset-now.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
|