From 5d73c78c8bdaa6f911380b7b0e04cdb377f94998 Mon Sep 17 00:00:00 2001 From: Baoquan He Date: Thu, 6 Jun 2013 18:16:05 +0800 Subject: [PATCH] kexec-kdump-howto: grubby is suggested modifing kernel cmdline For reserving a chunk of memory for kdump kernel, args need be appended to kernel cmdline. For different Arch, different bootloaders and related config files are used, it's a little annoying. Using grubby, it can be very easy to append a single arg to kernel cmdline, and can save words in howto document. Signed-off-by: Baoquan He Acked-by: WANG Chao --- kexec-kdump-howto.txt | 63 +++++-------------------------------------- 1 file changed, 7 insertions(+), 56 deletions(-) diff --git a/kexec-kdump-howto.txt b/kexec-kdump-howto.txt index 0ffd136..43c6bcb 100644 --- a/kexec-kdump-howto.txt +++ b/kexec-kdump-howto.txt @@ -66,11 +66,14 @@ as your running kernel, and the crash utility: # yum --enablerepo=\*debuginfo install kernel-debuginfo.$(uname -m) crash Next up, we need to modify some boot parameters to reserve a chunk of memory for -the capture kernel. For i686 and x86_64, edit /etc/grub.conf, and append -"crashkernel=128M" to the end of your kernel line. Similarly, append the same to -the append line in /etc/yaboot.conf for ppc64. On ia64, edit /etc/elilo.conf, -adding "crashkernel=256M" to the append line for your kernel. Note that the X +the capture kernel. With the help of grubby, it's very easy to append +"crashkernel=128M" to the end of your kernel boot parameters. Note that the X values are such that X = the amount of memory to reserve for the capture kernel. +And based on arch and system configuration, one might require more than 128M to +be reserved for kdump. One need to experiment and test kdump, if 128M is not +sufficient, try reserving more memory. + + # grubby --args="crashkernel=128M" --update-kernel=/boot/vmlinuz-`uname -r` Note that there is an alternative form in which to specify a crashkernel memory reservation, in the event that more control is needed over the size and @@ -88,58 +91,6 @@ This line tells kexec to reserve 64M of ram if the system contains between 512M and 2G of physical memory. If the system contains 2G or more of physical memory, 128M should be reserved. -Examples: -# grub.conf generated by anaconda -# -# Note that you do not have to rerun grub after making changes to this file -# NOTICE: You have a /boot partition. This means that -# all kernel and initrd paths are relative to /boot/, eg. -# root (hd0,0) -# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 -# initrd /initrd-version.img -#boot=/dev/hda -default=0 -timeout=5 -splashimage=(hd0,0)/grub/splash.xpm.gz -hiddenmenu -title Red Hat Enterprise Linux (2.6.18-8.el5) - root (hd0,0) - kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 - initrd /initrd-2.6.18-8.el5.img - -# cat /etc/yaboot.conf -# yaboot.conf generated by anaconda - -boot=/dev/sda1 -init-message=Welcome to Red Hat Enterprise Linux!\nHit for boot options -partition=2 -timeout=80 -install=/usr/lib/yaboot/yaboot -delay=5 -enablecdboot -enableofboot -enablenetboot -nonvram -fstype=raw - -image=/vmlinuz-2.6.17-1.2621.el5 - label=linux read-only - initrd=/initrd-2.6.17-1.2621.el5.img - append="root=LABEL=/ crashkernel=128M" - - -# cat /etc/elilo.conf -prompt -timeout=20 -default=2.6.17-1.2621.el5 -relocatable - -image=vmlinuz-2.6.17-1.2621.el5 - label=2.6.17-1.2621.el5 - initrd=initrd-2.6.17-1.2621.el5.img read-only - append="-- root=LABEL=/ crashkernel=256M" - - After making said changes, reboot your system, so that the X MB of memory is left untouched by the normal system, reserved for the capture kernel. Take note that the output of 'free -m' will show X MB less memory than without this