summaryrefslogtreecommitdiffstats
path: root/core/modules/kexec-reboot
diff options
context:
space:
mode:
authorSimon Rettberg2019-04-12 15:35:26 +0200
committerSimon Rettberg2019-04-12 15:35:26 +0200
commit68777834360e3b675134c5860ce1b05441681a00 (patch)
tree21ef584e45fb5c252a1c9fc7a5bfbe0254a9e9f2 /core/modules/kexec-reboot
parent[rfs-stage31] Add firmware loader to hotplug script (diff)
downloadmltk-68777834360e3b675134c5860ce1b05441681a00.tar.gz
mltk-68777834360e3b675134c5860ce1b05441681a00.tar.xz
mltk-68777834360e3b675134c5860ce1b05441681a00.zip
[kexec-reboot] Let systemd-shutdown trigger final kexec
Diffstat (limited to 'core/modules/kexec-reboot')
-rw-r--r--core/modules/kexec-reboot/data/etc/systemd/system/kexec-load.service2
-rw-r--r--core/modules/kexec-reboot/data/etc/systemd/system/kexec.service14
-rw-r--r--core/modules/kexec-reboot/data/etc/systemd/system/kexec.target4
l---------core/modules/kexec-reboot/data/etc/systemd/system/kexec.target.wants/kexec-load.service1
-rwxr-xr-xcore/modules/kexec-reboot/data/opt/openslx/scripts/systemd-kexec_exec12
5 files changed, 4 insertions, 29 deletions
diff --git a/core/modules/kexec-reboot/data/etc/systemd/system/kexec-load.service b/core/modules/kexec-reboot/data/etc/systemd/system/kexec-load.service
index 4fcebd66..927038ee 100644
--- a/core/modules/kexec-reboot/data/etc/systemd/system/kexec-load.service
+++ b/core/modules/kexec-reboot/data/etc/systemd/system/kexec-load.service
@@ -2,7 +2,7 @@
Description=Reload the kernel/initramfs via kexec
Documentation=man:kexec(8)
DefaultDependencies=no
-Before=shutdown.target final.target
+Before=shutdown.target final.target kexec.target
[Service]
Type=oneshot
diff --git a/core/modules/kexec-reboot/data/etc/systemd/system/kexec.service b/core/modules/kexec-reboot/data/etc/systemd/system/kexec.service
deleted file mode 100644
index 6c33a6bc..00000000
--- a/core/modules/kexec-reboot/data/etc/systemd/system/kexec.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Reboot via kexec
-Documentation=man:kexec(8)
-DefaultDependencies=no
-Wants=kexec-load.service
-Requires=shutdown.target final.target
-After=kexec-load.service shutdown.target final.target
-
-[Service]
-Type=oneshot
-ExecStart=/opt/openslx/scripts/systemd-kexec_exec
-
-[Install]
-WantedBy=kexec.target
diff --git a/core/modules/kexec-reboot/data/etc/systemd/system/kexec.target b/core/modules/kexec-reboot/data/etc/systemd/system/kexec.target
index 5be5b8c5..706cd706 100644
--- a/core/modules/kexec-reboot/data/etc/systemd/system/kexec.target
+++ b/core/modules/kexec-reboot/data/etc/systemd/system/kexec.target
@@ -11,8 +11,8 @@
Description=Reboot via kexec
Documentation=man:systemd.special(7)
DefaultDependencies=no
-Requires=kexec.service
-After=kexec.service
+Requires=systemd-kexec.service
+After=systemd-kexec.service
AllowIsolate=yes
[Install]
diff --git a/core/modules/kexec-reboot/data/etc/systemd/system/kexec.target.wants/kexec-load.service b/core/modules/kexec-reboot/data/etc/systemd/system/kexec.target.wants/kexec-load.service
new file mode 120000
index 00000000..1ad23b99
--- /dev/null
+++ b/core/modules/kexec-reboot/data/etc/systemd/system/kexec.target.wants/kexec-load.service
@@ -0,0 +1 @@
+../kexec-load.service \ No newline at end of file
diff --git a/core/modules/kexec-reboot/data/opt/openslx/scripts/systemd-kexec_exec b/core/modules/kexec-reboot/data/opt/openslx/scripts/systemd-kexec_exec
deleted file mode 100755
index d5ff3e57..00000000
--- a/core/modules/kexec-reboot/data/opt/openslx/scripts/systemd-kexec_exec
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/ash
-
-# check if kernel sees a preloaded kernel for kexec
-if which kexec 2>/dev/null && [ "x$(cat /sys/kernel/kexec_loaded)" = "x1" ]; then
- kexec -e
-fi
-
-# enable sysrq and trigger reboot
-echo 1 > /proc/sys/kernel/sysrq
-echo b > /proc/sysrq-trigger
-
-# TODO start fbsplash or something