summaryrefslogtreecommitdiff
path: root/units/initrd-switch-root.service.in
blob: b89f2348c785915da8f1796e75701e69474e4531 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#  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

# Just before switching to the new rootfs, systemd might send us a TERM signal
# depending on how fast we are to execute the main command and exit. If we get
# the SIGTERM signal that simply means that we succeed but haven't got enough
# time to exit properly. Since systemd considers SIGTERM as a failure for
# short-running process (aka Type=oneshot), instruct it to ignore this case.
SuccessExitStatus=SIGTERM