From Fedora Project Wiki

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Setup

  1. Install Fedora on your machine
  2. After system installed, check if kexec-tools kernel-debuginfo and crash is installed via
    rpm -q kexec-tools kernel-debuginfo kernel-devel crash
    If not, you can install via yum
    yum install kexec-tools kernel-debuginfo kernel-devel crash
  3. Reserve crashkernel for kdump by grubby
    grubby --args="crashkernl=128M" --update-kernel=$(grubby --default-kernel)
    Reboot system and check /proc/cmdline
      cat /proc/cmdline | grep "crashkernel"
  4. Edit /etc/kdump.conf, add this line:
     ext4 /dev/mapper/vg_dhcp6558-lv_root
     core_collector makedumpfile -E -d 31
  5. Apply changes and start kdump via
    service kdump restart
  6. Edit /etc/kdump.conf, add this line:
    core_collector makedumpfile -E -d 31
  7. Apply changes and start kdump via
    service kdump restart
  8. Build crasher kernel module:
    make
  9. Load crasher module:
    insmod crasher.ko 

How to test

  1. Trigger crash via:
    echo c > /proc/sysrq-trigger
  2. Analyse vmcore:
   readelf -a /var/crash/xxx/vmcore
   objdump -x /var/crash/xxx/vmcore
   eu-readelf -a /var/crash/xxx/vmcore
  1. Use crash to analyse vmcore:
   crash -i crash-simple.cmd /usr/lib/debug/lib/modules/xxx/vmlinux /var/crash/xxx/vmcore
   crash -i crash.cmd /usr/lib/debug/lib/modules/xxx/vmlinux /var/crash/xxx/vmcore
  1. Use gdb to analyse vmcore:
     gdb -x gdb.cmd /usr/lib/debug/lib/modules/xxx/vmlinux /var/crash/xxx/vmcore 

Expected Results

  1. Dump process could be monitered if console is connected
  2. System reboot successfully after dump vmcore finshed
  3. vmcore was found under path /var/crash/xxx/vmcore
  4. readelf should return 0, and no "warning" "warnings" found on output
    1. objdump should return 0
    2. eu-readelf should return 0
  5. No warning or error should be should found on crash output
  6. No warning or error should be should found on gdb output