Kdump

Kdump is a kexec based crash dumping mechansim for Linux. Kdump functionality is broken mainly in two components, user space and kernel space. Kernel space patches are already part of main line kernel tree. User space component is nothing but a patch on top of existing kexec tools.

Currently i386, x86_64 and ppc64 ports of kdump are available.

This site has been designed to provide an easy access to kdump documentation, patches and test reports.

Documentation:

Following are few links which can help in understanding kexec/kdump.

1. Reducing System Reboot Time with kexec, Andy Pfiffer

2. Reboot Linux Faster using kexec, Hariprasad Nellitheertha

3. Kdump - A kexec based dumping mechanism (Paper) - Vievek Goyal et al, OLS 2005

4. Kdump - A kexec based dumping mechanism (Presentation slides) - Vievek Goyal et al, OLS 2005

5. Documentation/kdump.txt in kernel source tree

Patches:

The latest kexec-tools tarball, kexec-tools-1.101.tgz

And kdump support is available in kexec-tools-testing git tree, available at kexec-tools-testing.git
OR
git://git.kernel.org/pub/scm/linux/kernel/git/horms/kexec-tools-testing.git

The older pre-git patches can be found here.

How to Test:

Please refer to this document for possbile steps to test kexec/kdump

Test Reports:

Please look at the various test reports here

Automation Support:

A prototype is developed by Rachita Kothiyal for providing ease of use for kdump. It is always helpful if user need not be bothered to manually load the dump capture kernel and save the kdump manually. These prototypes are done for various distros as below

Debian:

The following set of patches made on mkinitrd (from initrd-tools package:version 0.1.82), forms a prototype for automation for kdump on Debian unstable. As these are not the only things needed for kdump integration, please refer the kdump documentations for more details about kdump setup.

This first patch (to be applied on the mkinitrd ver 0.1.82), debian-mkinitrd-0.1.82-kdump-auto-capture.patch would enable the generation of a special initrd for the dump capture kernel. This allows the dump capture kernel to automatically save the dump to the specified disk filesystem before the root file system is mounted. After copying the kdump, it will reboot the system back to a regular kernel. Thus it can solve the problem of not able to access the login prompt because of corrupted root filesystem.
Usage:
mkinitrd -c [dump_dev] -f [file_system] -o [out-file] [kernel-version]

The second patch debian-mkinitrd-0.1.82-kdump-auto-load-capture-kernel.patch would enable the user to generate the initrd for the first or the regular kernel. This initrd will package the second kernel or the dump capture kernel along with its initrd, the kexec-tools user space application (needed to load the dump capture kernel).
Usage:
mkinitrd -i [capture_initrd] -v [capture_kernel] -o [out_file] [kernel-version]

The user would then need to boot to the first kernel with this initrd. Incase of a panic/crash, the system will automatically boot to the capture kernel. The capture kernel's initrd will copy the dump and reboot the system back to regular kernel.

FC4:

This patch fc4-mkinitrd-4.2.15-auto-capture.patch can provide auto capture for kdump to the specified disk file system
Usage:
mkinitrd [--dump-dev=] [--dump-fs=] image kernel-version

RHEL4 U2:

This patch rhel4-u2-mkinitrd-4.2.1.5-auto-capture.patch can provide auto capture for kdump to the specified disk file system
Usage:
mkinitrd [--dump-dev=] [--dump-fs=] image kernel-version

SLES9 SP2

This patch sles9-sp2-mkinitrd-1.2-27.9-auto-capture.patch can provide auto capture for kdump to the specified disk file system
Usage:
mkinitrd [-v ] [-f ] -k kernel -i image