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.
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
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.gitThe older pre-git patches can be found here.
Please look at the various test reports here
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
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.