summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am8
-rw-r--r--units/.gitignore1
-rw-r--r--units/kexec.service.in16
-rw-r--r--units/kexec.target18
-rw-r--r--units/session/exit.service.in13
-rw-r--r--units/session/exit.target18
6 files changed, 70 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am
index e432dcbbe4..b15cb123be 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -162,6 +162,7 @@ dist_systemunit_DATA = \
units/basic.target \
units/getty.target \
units/halt.target \
+ units/kexec.target \
units/local-fs.target \
units/network.target \
units/nss-lookup.target \
@@ -229,10 +230,12 @@ nodist_systemunit_DATA = \
units/systemd-readahead-done.service \
units/systemd-tmpfiles.service \
units/systemd-user-sessions.service \
- units/syslog.target
+ units/syslog.target \
+ units/kexec.service
dist_sessionunit_DATA = \
- units/session/default.target
+ units/session/default.target \
+ units/session/exit.target
nodist_sessionunit_DATA = \
units/session/remote-fs.target \
@@ -262,6 +265,7 @@ EXTRA_DIST = \
units/systemd-tmpfiles.service.in \
units/systemd-user-sessions.service.in \
units/syslog.target.in \
+ units/kexec.service.in \
units/session/exit.service.in \
systemd.pc.in
diff --git a/units/.gitignore b/units/.gitignore
index 00a40d4e9c..83fc32cfd9 100644
--- a/units/.gitignore
+++ b/units/.gitignore
@@ -1,3 +1,4 @@
+kexec.service
systemd-user-sessions.service
systemd-readahead-done.service
systemd-tmpfiles.service
diff --git a/units/kexec.service.in b/units/kexec.service.in
new file mode 100644
index 0000000000..70ad227ff9
--- /dev/null
+++ b/units/kexec.service.in
@@ -0,0 +1,16 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Reboot via kexec
+DefaultDependencies=no
+Requires=shutdown.target umount.target
+After=shutdown.target umount.target
+
+[Service]
+Type=oneshot
+ExecStart=@SYSTEMCTL@ --force kexec
diff --git a/units/kexec.target b/units/kexec.target
new file mode 100644
index 0000000000..b77e6a43f1
--- /dev/null
+++ b/units/kexec.target
@@ -0,0 +1,18 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Reboot via kexec
+DefaultDependencies=no
+Requires=kexec.service
+After=kexec.service
+AllowIsolate=yes
+
+[Install]
+Alias=ctrl-alt-del.target
diff --git a/units/session/exit.service.in b/units/session/exit.service.in
index d098d0da50..024fbe172d 100644
--- a/units/session/exit.service.in
+++ b/units/session/exit.service.in
@@ -1,9 +1,18 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+# See systemd.special(7) for details
+
[Unit]
-Description=Exit
+Description=Exit the Session
DefaultDependencies=no
Requires=shutdown.target
After=shutdown.target
[Service]
Type=oneshot
-ExecStart=@SYSTEMCTL@ --session daemon-exit
+ExecStart=@SYSTEMCTL@ --session --force exit
diff --git a/units/session/exit.target b/units/session/exit.target
new file mode 100644
index 0000000000..f34844c0d3
--- /dev/null
+++ b/units/session/exit.target
@@ -0,0 +1,18 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+# See systemd.special(7) for details
+
+[Unit]
+Description=Exit the Session
+DefaultDependencies=no
+Requires=exit.service
+After=exit.service
+AllowIsolate=yes
+
+[Install]
+Alias=ctrl-alt-del.target