Comment 14 for bug 785394

Dave Chiluk (chiluk) wrote :

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}