On 02/09/12 04:50, Linus Lüssing wrote: Hello Linus,
> I'm currently trying to get a kdump from a crashkernel but was > unsuccessful so far. I'm closing this bug because generating a crash dump is quite a bit outside the scope of the crash debugger package. > I'm usually getting a: > 'crash: $KERNEL_IMAGE: not a supported file format' > when trying to execute: > $ sudo crash $KERNEL_IMAGE /proc/vmcore Normally, you want to use a utility such a makedumpfile to turn the /proc/vmcore into a crash dump file, generally at a greatly reduced size as the /proc/vmcore will be all of your physical memory. > I've tried the following images: > - /boot/vmlinuz-3.2.4 > - /mnt/dev/linux/linux-source-3.2/vmlinux > -> the path where I've compiled this kernel > - /usr/lib/debug/lib/modules/3.2.4/vmlinux For crash to function it needs two main things, first it needs a DEBUG kernel image that was built with the -g compiler flag. The crash documentation sometimes refers to this as the namelist. You need to make sure that this DEBUG kernel image is identical to the kernel that you are trying to debug. The second thing that crash needs is a memory image. Now crash can run in one of two modes. The memory image can be the physical memory of a live running system or it can be a kernel crash dump in a variety of formats, including a raw /proc/vmcore. For example if you are running Debian SID on the amd64 architecture you can use the stock kernel and the debug image to run crash in the live mode. For example: # apt-get install lnux-image-3.2.0-1-amd64 inux-image-3.2.0-1-amd64-dbg # reboot (if you are not already booted to 3.2.0-1) # sudo crash /usr/lib/debug/boot/vmlinux-3.2.0-1-amd64 /proc/kcore > For all but /boot/vmlinuz-3.2.4 I'm also getting a: > --- > WARNING: machine type mismatch: > crash utility: X86 > $KERNEL_IMAGE: X86_64 > --- > (which is true, but shouldn't be a reason to warn?) This would be a major issue, you can't use a 32-bit version of crash to debug a 64-bit image. Troy
signature.asc
Description: Digital signature