From 85ed27f699939f75b8422ae67e016bdf9f439da9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 14 Oct 2010 00:57:52 +0200 Subject: [PATCH] units: introduce kexec.service, kexec.target and exit.target --- Makefile.am | 8 ++++++-- units/.gitignore | 1 + units/kexec.service.in | 16 ++++++++++++++++ units/kexec.target | 18 ++++++++++++++++++ units/session/exit.service.in | 13 +++++++++++-- units/session/exit.target | 18 ++++++++++++++++++ 6 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 units/kexec.service.in create mode 100644 units/kexec.target create mode 100644 units/session/exit.target diff --git a/Makefile.am b/Makefile.am index e432dcbb..b15cb123 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 00a40d4e..83fc32cf 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 00000000..70ad227f --- /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 00000000..b77e6a43 --- /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 d098d0da..024fbe17 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 00000000..f34844c0 --- /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 -- 2.39.5