How to set kernel boot parameter "crashkernel=X@Y" in opensuse12.2

Hi All Experts,

I have installed opensuse 12.2.
I have set crashkernel=64M@16M in the boot loader setting of yasht.

After that i reboot the system. In the grub menu after doing “e” i can see the above mentioned parameter added.

Now when, my system comes up and I run kexec -p “Kernel_version” command,

It shows error, that i first have to reserve crash dump kernel memory by using crashkernel=X@Y :frowning:

Please suggest, what to do next, I am stuck in this activity and it is quiet very urgent.:frowning:

-Thanks and Regards,
Deepak K.

Are you aware of the fact that openSUSE 12.2 is not suported anymore?
Thus there are not many people that can try to do what you do, because they do not have a 12.2 running to check what you did. Also it is quite possible (my memory does not go back that far) that 12.2 is a legacy Grub system and not a GRUB2 system as all at the moment supported openSUSE version are.

Better to install a supported verin like 13.2

12.2 was the first version that used grub2 as default boot loader, otherwise I fully agree… :wink:

It might even be possible that 12.2’s kernel didn’t even support the crashkernel parameter yet (no idea), although I think that you wouldn’t get that particular error message then (unless you installed kexec from somewhere else than the standard repos).

I’d suggest to post your exact kernel command line as a start though:

cat /proc/cmdline

Copy and paste the result.
Maybe you just made a mistake?

Hi Wolf,

Thanks a lot for your reply.

The output of /proc/cmdline is :-

cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-3.4.6-kdump root=UUID=c304d6d4-5308-499a-9603-a4eb857ccdd7 video=1366x768 resume=/dev/disk/by-id/ata-ST380215A_9QZ30E9A-part3 splash=silent quiet showopts crashkernel=64M@16M

It seems fine. But when i run kexec -p “kernel version” the output is :-

kexec -p /boot/vmlinuz-3.4.6-kdump
Memory for crashkernel is not reserved
Please reserve memory by passing “crashkernel=X@Y” parameter to the kernel
Then try loading kdump kernel

:frowning:

Could you please help here?

In opensuse 12.2 kexec is already installed. I have tried the similar in version 11.2, but i have installed kexec manually, and there it worked.

Could you please suggest, what possible is needed to be done? :frowning:

Indeed.

Could you please suggest, what possible is needed to be done? :frowning:

Sorry, I have absolutely no idea.
I never even used kexec myself.

Maybe try this:
http://www.linux.org/threads/troubleshooting-kdump-error-memory-for-crashkernel-is-not-reserved.6631/
Or try to install a different kernel, maybe from http://download.opensuse.org/repositories/Kernel:/ (the kernel is not specific to a particular openSUSE version, so you could try e.g. the 12.3 or 13.1 kernel as well…)

Hi,

Thanks for the response.

The problem is resloved by using just crashkernel=64M instead of crashkernel=64M@16M. :slight_smile:

Now, I am facing another problem.

I have started kexec and the manually crashed the kernel using echo c > /proc/sysrrq-trigger.

As expected core file is generated. But when I tried to analyze the issue using the command :-

gdb /boot/vmlinuz vmcore_1GNU gdb (GDB) SUSE (7.4.50.20120603-2.1.2)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “i586-suse-linux”.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>…
Reading symbols from /boot/vmlinuz…(no debugging symbols found)…done.

warning: core file may not match specified executable file.
[New process 1]
[New LWP 3538]
#0 0x00000015 in ?? ()
(gdb) bt
#0 0x00000015 in ?? ()
#1 0x5b2cc483 in ?? ()
#2 0xc35d5f5e in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Can anyone please help How to get these debug symbols? In the kernel config

CONFIG_DEBUG_INFO is set to yes.

-Thansk and Regards,
Deepak Kumar

Normally the debug symbols are stripped out after building the packages and put into a separate xxx-debuginfo package.
So try to install the corresponding -debuginfo package for your kernel (those are normally found in the debug and update-debug repos), e.g. kernel-desktop-debuginfo.
Or did you compile that kernel yourself?