kdump/kdump-fix-service-files.patch

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