93 lines
2.7 KiB
Diff
93 lines
2.7 KiB
Diff
|
From: Michal Koutny <mkoutny@suse.com>
|
||
|
Date: Wed Jun 7 15:16:05 2017 +0200
|
||
|
Subject: Fix kdump-related services
|
||
|
References: bsc#1021484
|
||
|
Upstreams: v0.8.17
|
||
|
Git-commit: 168b7bfeb992594df08c7e4020ac34f1d9a825bb
|
||
|
|
||
|
kdump.service should be the "big switch" to turn kdump on and off. We
|
||
|
can achieve this by adding an Also= directive.
|
||
|
|
||
|
kdump-early.service is merely a way to load a kdump kernel a early
|
||
|
during the boot process if and only if the kdumprd already exists (e.g.
|
||
|
from a previous boot). There may be some use cases for enabling only
|
||
|
the early service without kdump.service.
|
||
|
|
||
|
OTOH, it is not an error if the initrd is not found during the early
|
||
|
stages. This is indicated by exit code 6 (originally conforming to LSB
|
||
|
"program not configured" exit code).
|
||
|
|
||
|
Signed-off-by: Michal Koutny <mkoutny@suse.com>
|
||
|
Acked-by: Petr Tesarik <ptesarik@suse.com>
|
||
|
|
||
|
---
|
||
|
init/CMakeLists.txt | 2 +-
|
||
|
init/kdump-early.service | 14 ++++++++++++++
|
||
|
init/kdump-rebuild-initrd.service | 12 ------------
|
||
|
init/kdump.service | 8 ++++----
|
||
|
4 files changed, 19 insertions(+), 17 deletions(-)
|
||
|
|
||
|
--- a/init/kdump.service
|
||
|
+++ b/init/kdump.service
|
||
|
@@ -1,13 +1,13 @@
|
||
|
[Unit]
|
||
|
-Description=Load kdump kernel on startup
|
||
|
-After=local-fs.target
|
||
|
-Wants=kdump-rebuild-initrd.service
|
||
|
+Description=Load kdump kernel and initrd
|
||
|
+After=local-fs.target network.service YaST2-Second-Stage.service YaST2-Firstboot.service
|
||
|
|
||
|
[Service]
|
||
|
Type=oneshot
|
||
|
-ExecStart=/lib/kdump/load.sh
|
||
|
+ExecStart=/lib/kdump/load.sh --update
|
||
|
ExecStop=/lib/kdump/unload.sh
|
||
|
RemainAfterExit=true
|
||
|
|
||
|
[Install]
|
||
|
WantedBy=multi-user.target
|
||
|
+Also=kdump-early.service
|
||
|
--- /dev/null
|
||
|
+++ b/init/kdump-early.service
|
||
|
@@ -0,0 +1,14 @@
|
||
|
+[Unit]
|
||
|
+Description=Load kdump kernel early on startup
|
||
|
+After=local-fs.target
|
||
|
+
|
||
|
+[Service]
|
||
|
+Type=oneshot
|
||
|
+ExecStart=/lib/kdump/load.sh
|
||
|
+ExecStop=/lib/kdump/unload.sh
|
||
|
+RemainAfterExit=true
|
||
|
+# It is OK if the initrd is missing in this early attempt
|
||
|
+SuccessExitStatus=6
|
||
|
+
|
||
|
+[Install]
|
||
|
+WantedBy=multi-user.target
|
||
|
--- a/init/kdump-rebuild-initrd.service
|
||
|
+++ /dev/null
|
||
|
@@ -1,12 +0,0 @@
|
||
|
-[Unit]
|
||
|
-Description=Reload kdump kernel and updated initrd after the network is configured
|
||
|
-After=local-fs.target network.service YaST2-Second-Stage.service YaST2-Firstboot.service
|
||
|
-
|
||
|
-[Service]
|
||
|
-Type=oneshot
|
||
|
-ExecStart=/lib/kdump/load.sh --update
|
||
|
-ExecStop=/lib/kdump/unload.sh
|
||
|
-RemainAfterExit=true
|
||
|
-
|
||
|
-[Install]
|
||
|
-WantedBy=multi-user.target
|
||
|
--- a/init/CMakeLists.txt
|
||
|
+++ b/init/CMakeLists.txt
|
||
|
@@ -39,7 +39,7 @@ INSTALL(
|
||
|
INSTALL(
|
||
|
FILES
|
||
|
${CMAKE_CURRENT_SOURCE_DIR}/kdump.service
|
||
|
- ${CMAKE_CURRENT_SOURCE_DIR}/kdump-rebuild-initrd.service
|
||
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/kdump-early.service
|
||
|
DESTINATION
|
||
|
/usr/lib/systemd/system
|
||
|
PERMISSIONS
|