Hi Lianbo, all,
Early kdump is now supported in RHEL8 and general users can start to use
it, but I think the document still has some points that we can make better.
How about this patch?
From 095376482c6f970c4b66d65fd05f274036087826 Mon Sep 17 00:00:00 2001
From: Kazuhito Hagio <k-hagio-ab(a)nec.com>
Date: Mon, 17 Feb 2020 14:22:28 -0500
Subject: [PATCH] Several improvements to early-kdump-howto.txt
Improves the early-kdump-howto.txt document in several points:
(1) explain early kdump a little clearer in "Introduction"
(2) move the notes out to a new "Notes" section for readability and
add a note about need of reconfiguration after kernel update
(3) change journalctl -x option to -b option because -x is unnecessary
and -b will make it very faster if persistent journal is available
(4) shorten the example messages for readability
(5) add a note to "Limitation" about the earliness of early kdump
Signed-off-by: Kazuhito Hagio <k-hagio-ab(a)nec.com>
early-kdump-howto.txt | 67 +++++++++++++++++++++++++++----------------
1 file changed, 43 insertions(+), 24 deletions(-)
diff --git a/early-kdump-howto.txt b/early-kdump-howto.txt
index c29557e19403..68b23c7d1f2d 100644
@@ -3,12 +3,17 @@ Early Kdump HOWTO
-Kdump service starts too late, so early crashes will have no chance to get
-kdump kernel booting, this will cause crash information to be lost. It is
-necessary to add a dracut module in order to load crash kernel and initramfs
-as early as possible. You can provide "rd.earlykdump" in grub commandline
-to enable, then the early kdump will load those files like the normal kdump,
-which is disabled by default.
+Early kdump is a mechanism to make kdump operational earlier than normal kdump
+service. The kdump service starts early enough for general crash cases, but
+there are some cases where it has no chance to make kdump operational in boot
+sequence, such as detecting devices and starting early services. If you hit
+such a case, early kdump may allow you to get more information of it.
+Early kdump is implemented as a dracut module. It adds a kernel (vmlinuz) and
+initramfs for kdump to your system's initramfs in order to load them as early
+as possible. After that, if you provide "rd.earlykdump" in kernel command
+then in the initramfs, early kdump will load those files like the normal kdump
+service. This is disabled by default.
For the normal kdump service, it can check whether the early kdump has loaded
the crash kernel and initramfs. It has no conflict with the early kdump.
@@ -20,7 +25,9 @@ We assume if you're reading this document, you should already have
You can rebuild the initramfs with earlykdump support with below steps:
1. start kdump service to make sure kdump initramfs is created.
# systemctl start kdump
NOTE: If a crash occurs during boot process, early kdump captures a vmcore
@@ -34,6 +41,7 @@ You can rebuild the initramfs with earlykdump support with below steps:
For the failure_action, you can choose anything other than "reboot".
2. rebuild system initramfs with earlykdump support.
# dracut --force --add earlykdump
NOTE: Recommend to backup the original system initramfs before performing
@@ -41,16 +49,6 @@ You can rebuild the initramfs with earlykdump support with below
3. add rd.earlykdump in grub kernel command line.
-. Early kdump initramfs size will be large because it includes vmlinuz and
-. Early kdump inherits the settings of normal kdump, so any changes that
-caused normal kdump rebuilding also require rebuilding the system initramfs
-to make sure that the changes take effect for early kdump. Therefore, after
-the rebuilding of kdump initramfs is completed, provide a prompt message to
-tell the fact.
After making said changes, reboot your system to take effect. Of course, if you
want to disable early kdump, you can simply remove "rd.earlykdump" from kernel
boot parameters in grub, and reboot system like above.
@@ -58,19 +56,40 @@ boot parameters in grub, and reboot system like above.
Once the boot is completed, you can check the status of the early kdump support
on the command prompt:
- # journalctl -x|grep early-kdump
+ # journalctl -b | grep early-kdump
Then, you will see some useful logs, for example:
-1. if early kdump is successful.
-Mar 09 09:57:56 localhost.localdomain dracut-cmdline: early-kdump is enabled.
-Mar 09 09:57:56 localhost.localdomain dracut-cmdline: kexec: loaded early-
+- if early kdump is successful.
+Mar 09 09:57:56 localhost dracut-cmdline: early-kdump is enabled.
+Mar 09 09:57:56 localhost dracut-cmdline: kexec: loaded early-kdump kernel
-2. if early kdump is disabled.
-Mar 09 10:02:47 localhost.localdomain dracut-cmdline: early-kdump is disabled.
+- if early kdump is disabled.
+Mar 09 10:02:47 localhost dracut-cmdline: early-kdump is disabled.
+- The size of early kdump initramfs will be large because it includes vmlinuz
+ and kdump initramfs.
+- Early kdump inherits the settings of normal kdump, so any changes that
+ caused normal kdump rebuilding also require rebuilding the system initramfs
+ to make sure that the changes take effect for early kdump. Therefore, after
+ the rebuilding of kdump initramfs is completed, provide a prompt message to
+ tell the fact.
+- If you install an updated kernel and reboot the system with it, the early
+ kdump will be disabled by default. To enable it with the new kernel, you
+ need to take the above steps again.
-At present, early kdump doesn't support fadump.
+- At present, early kdump doesn't support fadump.
+- Early kdump loads a crash kernel and initramfs at the beginning of the
+ process in system's initramfs, so a crash at earlier than that (e.g. in
+ kernel initialization) cannot be captured even with the early kdump.