10

I want to enable kernel crash dumps for my Debian 5.0.7 machine. The kernel version is 2.2.26 amd64.

How can I configure this?

Gaff
  • 18,569
  • 15
  • 57
  • 68
Anandan
  • 211
  • 1
  • 3
  • 4

2 Answers2

12

You may also want to look at Debian's kdump-tools package to automate some of the necessary boot-time steps.

The steps are roughly,

  1. sudo apt-get install kdump-tools
  2. Set USE_KDUMP=1 in /etc/default/kdump-tools
  3. Add crashkernel=128M to the kernel command-line given in bootloader configuration (e.g. /etc/default/grub). It also doesn't hurt to pass nmi_watchdog=1 as well to ensure that hard hangs are caught.
    • Note that 128MB is merely a ballpark figure. It needs to be large enough to accomodate the kernel image and the associated init ramdisk.
    • If your initram disk is large, you might be able to shrink it by tweaking /etc/initramfs-tools/initramfs.conf
  4. Ensure that your boot loader configuration is updated (e.g. sudo update-grub)
  5. Ensure your kernel is built with,
    • CONFIG_RELOCATABLE=y
    • CONFIG_KEXEC=y
    • CONFIG_CRASH_DUMP=y
    • CONFIG_DEBUG_INFO=y
  6. Reboot
  7. Verify that the crash kernel is loaded, cat /sys/kernel/kexec_crash_loaded
  8. Optional: Test that all of this worked,
    1. sudo sync; echo c | sudo tee /proc/sysrq-trigger
    2. Use the crash tool to look at the resulting crash dump
  9. Find a handle of good whiskey to ease the pain of your future in kernel debugging.
Tombart
  • 1,505
  • 1
  • 14
  • 14
bgamari
  • 231
  • 2
  • 4
  • Upvote for the whisky reference. (And everything else). – clearlight Dec 20 '17 at 17:00
  • It looks like manually adding "crashkernel" to the Grub configuration is no longer needed (at least in Debian 10). On doing so, I got a resulting commandline ending "crashkernel=256M quiet crashkernel=384M-:128M" - the second crashkernel parameter was added by something automatically – Michael Firth Dec 30 '20 at 19:23
4

A short answer, but...

Go to your kernel source (E.g. cd /usr/src/linux/ ) and configure the options for the next kernel (make menuconfig). Go to "Processor type and features". Enable "kernel crash dumps". (CONFIG_CRASH_DUMP=y)

Build new kernel, install.

Then read these for more background information: Linux-Crash-HOWTO.pdf and lkcd utils

pevik
  • 580
  • 4
  • 13
Hennes
  • 64,768
  • 7
  • 111
  • 168