summaryrefslogtreecommitdiffstats
path: root/files
diff options
context:
space:
mode:
Diffstat (limited to 'files')
-rw-r--r--files/halt-local.service23
-rwxr-xr-xfiles/halt.local.CD7
2 files changed, 23 insertions, 7 deletions
diff --git a/files/halt-local.service b/files/halt-local.service
new file mode 100644
index 0000000..bc7f284
--- /dev/null
+++ b/files/halt-local.service
@@ -0,0 +1,23 @@
+# 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=/sbin/halt.local Compatibility
+ConditionFileIsExecutable=/sbin/halt.local
+DefaultDependencies=no
+After=shutdown.target
+Before=final.target
+
+[Service]
+Type=oneshot
+ExecStartPre=-/bin/kill -54 1
+ExecStartPre=-/usr/bin/plymouth quit
+ExecStartPre=-/usr/bin/chvt 1
+ExecStart=/sbin/halt.local
+TimeoutSec=0
+StandardOutput=tty
+RemainAfterExit=yes
diff --git a/files/halt.local.CD b/files/halt.local.CD
index e34f56d..6254c61 100755
--- a/files/halt.local.CD
+++ b/files/halt.local.CD
@@ -8,13 +8,6 @@ use c;
my ($device) = cat_("/proc/mounts") =~ m!(/dev/\S+)\s+/live/media\s+iso9660!;
$device or exit;
-# stop plymouth
-system("/bin/plymouth quit");
-# send SIGRTMIN+20 to systemd to enable console output
-system("/bin/kill -54 1");
-# switch to console 1
-system("/usr/bin/chvt 1");
-
# try to put halt/reboot in cache, if not called directly from them
# mount is also needed by end of /etc/init.d/halt
system("$_ --help &>/dev/null") foreach qw(halt mount reboot);