Yeah looks like the minimum amount of ram required to complete the writing of a dump in the case of a generic-image and default initrd is roughly 109-110M with the 3.8 kernel (I just tested it).
My $.02 on this matter is that the default values should work for default installs. Right now that is not the case even if they have enough ram to complete a dump. My guess is that 64M works for virtual images just fine, but it's not enough for generic images. So perhaps we should make this value dependent on virtual or generic being in the kernel name. So how about something like the below patch. I haven't fully vetted it, but want to see what people think. --- 10_linux.orig 2013-12-11 14:33:00.384344265 -0600 +++ 10_linux 2013-12-11 15:13:42.485036921 -0600 @@ -73,7 +73,7 @@ done # add crashkernel option if we have the required tools if [ -x "/usr/bin/makedumpfile" ] && [ -x "/sbin/kexec" ]; then - GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=384M-2G:92M,2G-:128M" + CRASH="on" fi linux_entry () @@ -120,6 +120,14 @@ EOF echo '$message' EOF fi + if [ "x${CRASH}" = "xon" ]; then + if [ "x${basename%%generic}" != "x${basename}" ]; then + args="$args crashkernel=384M-2G:110M,2G-:128M" + elif [ "${basename%%virtual}" != ${basename} ]; then + args="$args crashkernel=384M-2G:64M,2G-:128M" + fi + fi + if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then cat << EOF linux ${rel_dirname}/${basename}.efi.signed root=${linux_root_device_thisversion} ro ${args} -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to kexec-tools in Ubuntu. https://bugs.launchpad.net/bugs/785394 Title: Hard-coded crashkernel=... memory reservation in /etc/grub.d/10_linux is insufficient Status in “grub2” package in Ubuntu: Confirmed Status in “kexec-tools” package in Ubuntu: In Progress Bug description: Binary package hint: grub-pc This concerns grub-pc 1.99~rc1-13ubuntu3 in Ubuntu Natty. The /etc/grub.d/10_linux file contains this snippet: # add crashkernel option if we have the required tools if [ -x "/usr/bin/makedumpfile" ] && [ -x "/sbin/kexec" ]; then GRUB_CMDLINE_EXTRA="$GRUB_CMDLINE_EXTRA crashkernel=384M-2G:64M,2G-:128M" fi I am on a system with 2GB of RAM (reported as 2038MB), and according to the kernel startup messages, 64MB is reserved for the crash kernel. Unfortunately, this does not appear to be enough memory for the regular Ubuntu kernel to boot. I am attaching a kernel log obtained via serial cable; it shows the initial boot, a crash in the kernel's video-driver-related code, the subsequent crashkernel boot, and then an apparent "out of memory" kernel panic. (A side effect of the "double crash" is that the system is left unresponsive, requiring a manual reset instead of rebooting itself automatically.) If I double the memory numbers in the crashkernel=... argument, so that the reservation is 128MB, the system correctly goes on to attempt a vmcore dump and reboot. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/785394/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp