mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 17:51:22 +03:00
acc28e2e30
This is a different way to implement the fix proposed by commit
a4021390fe
suggested by Lennart Poettering.
In this patch we instruct PID1 to not kill "systemctl switch-root" command
started by initrd-switch-root service using the "argv[0][0]='@'" trick.
See: https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/ for
more details.
We had to backup argv[0] because argv is modified by dispatch_verb().
21 lines
648 B
SYSTEMD
21 lines
648 B
SYSTEMD
# 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=Switch Root
|
|
DefaultDependencies=no
|
|
ConditionPathExists=/etc/initrd-release
|
|
OnFailure=emergency.target
|
|
OnFailureJobMode=replace-irreversibly
|
|
AllowIsolate=yes
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
# we have to use "--force" here, otherwise systemd would umount /run
|
|
ExecStart=@rootbindir@/systemctl --no-block --force switch-root /sysroot
|
|
KillMode=none
|