e0f11a3f9b
Aarch64 support, systemd services, IP in directory name OBS-URL: https://build.opensuse.org/request/show/503692 OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/kdump?expand=0&rev=129
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
|