From 68777834360e3b675134c5860ce1b05441681a00 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 12 Apr 2019 15:35:26 +0200 Subject: [kexec-reboot] Let systemd-shutdown trigger final kexec --- .../data/etc/systemd/system/kexec-load.service | 2 +- .../kexec-reboot/data/etc/systemd/system/kexec.service | 14 -------------- .../kexec-reboot/data/etc/systemd/system/kexec.target | 4 ++-- .../systemd/system/kexec.target.wants/kexec-load.service | 1 + .../data/opt/openslx/scripts/systemd-kexec_exec | 12 ------------ 5 files changed, 4 insertions(+), 29 deletions(-) delete mode 100644 core/modules/kexec-reboot/data/etc/systemd/system/kexec.service create mode 120000 core/modules/kexec-reboot/data/etc/systemd/system/kexec.target.wants/kexec-load.service delete mode 100755 core/modules/kexec-reboot/data/opt/openslx/scripts/systemd-kexec_exec (limited to 'core/modules/kexec-reboot') 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 -- cgit v1.2.3-55-g7522