e2fsck 1.38 (30-Jun-2005)
fsck.ext3: while determining whether /dev/sda2 is mounted.
/: recovering journal
/: clean, 100877/4653056 files, 1236284/4648809 blocks
Mounting root filesystem.
Trying mount -t ext4 /dev/sda2 /sysroot
Trying mount -t ext3 /dev/sda2 /sysroot
Using ext3 on root filesystem
Switching to new root and running init.
^MINIT: version 2.86 booting^M
Welcome to CentOS release 5.8 (Final)
Press 'I' to enter interactive startup.
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method.
Setting clock (utc): Tue Aug 5 19:18:49 PDT 2014 [ OK ]^M
Starting udev: [ OK ]^M
The point is to not touch the default kdump.conf, and mkdumprd should just work, like it does in RHEL6.
If I do put the ext3 and path directives into kdump.conf, then of course things work fine, but it shouldn’t be needed for the stock case where you just want to dump to /var/crash on your local filesystem.
–
Yeah… I saw how RHEL6 handles this, will try to backport it to RHEL5.
Thanks!
… almost. I’m pretty sure that the RHEL6 default mkdumprd uses makedumpfile by default so it isn’t just using “cp” to create the vmcore file.
The currently-patched version appears to just use “cp” instead.
–
Yeah, this is expected, because we don’t have a chance to change the default core_collector to makedumpfile on RHEL5, so “cp” is still the default one. :)
How to read it the ring buffer? Here is a beautiful illustration from IBM Developerworks
dmesg would be your first resort! How does dmesg accomplish its task? By a call to syslog()! How does syslog do its job? Through the system call interface which in turn call do_syslog(). do_syslog() does the finishing act like this
# Configures where to put the kdump /proc/vmcore files
#
# This file contains a series of commands to perform (in order) when a
# kernel crash has happened and the kdump kernel has been loaded. Directives in
# this file are only applicable to the kdump initramfs, and have no effect if
# the root filesystem is mounted and the normal init scripts are processed
#
# Currently only one dump target and path may be configured at a time. If dump
# to configured dump target fails, the default action will be preformed.
# Default action may be configured with the "default" directive below.
#
# Basics commands supported are:
# path <path> - Append path to the filesystem device which you are
# dumping to. Ignored for raw device dumps.
# If unset, will default to /var/crash.
#
# core_collector <command> <options>
# - This allows you to specify the command to copy the
# vmcore. You could use the dump filtering program
# makedumpfile, the default one, to retrieve your core,
# which on some arches can drastically reduce core file
# size. See /usr/sbin/makedumpfile --help for a list of
# options. Note that the -i and -g options are not
# needed here, as the initrd will automatically be
# populated with a config file appropriate for the
# running kernel.
# For ssh dump, scp should be used instead of cp.
#
# raw <partition> - Will write /proc/vmcore into raw <partition>.
#
# nfs <nfs mount> - Will mount fs and copy /proc/vmcore to
# <mnt>/<path>/%HOST-%DATE/, supports DNS.
#
# nfs4 <nfs mount> - Will use NFSv4 instead of NFSv3
#
# net <nfs mount> - This is a deprecated option to transfer vmcore over
# nfs. Use "nfs" option instead.
#
# ssh <user@server> - Will copy /proc/vmcore to
# <user@server>:<path>/%HOST-%DATE/ via SSH,
# supports DNS. If makedumpfile is the core_collector,
# it is piped to an "ssh" shell, otherwise use the
# specified core_collector like scp.
# NOTE: make sure user has necessary write
# permissions on server
#
# net <user@server> - This is a deprecated option to transfer vmcore over
# ssh. Use "ssh" option instead.
#
# <fs type> <partition> - Will mount -t <fs type> <partition> /mnt and copy
# /proc/vmcore to /mnt/<path>/127.0.0.1-%DATE/.
# NOTE: <partition> can be a device node, label or uuid.
#
# disk_timeout <seconds>
# - Number of seconds to wait for disks to appear prior
# to continue to save dump. By default kdump waits
# 180 seconds for the disks to show up it needs. This
# can be useful in some cases if disk never shows up
# (Either because disk was removed or because kdump is
# waiting on wrong disk).
#
# link_delay <seconds>
# - Some network cards take a long time to initialize, and
# some spanning tree enabled networks do not transmit
# user traffic for long periods after a link state
# changes. This optional parameter defines a wait
# period after a link is activated in which the
# initramfs will wait before attempting to transmit
# user data.
#
# kdump_post <binary | script>
# - This directive allows you to run a specified
# executable just after the memory dump process
# terminates. The exit status from the dump process
# is fed to the kdump_post executable, which can be
# used to trigger different actions for success or
# failure.
#
# kdump_pre <binary | script>
# - works just like the kdump_post directive, but instead
# of running after the dump process, runs immediately
# before. Exit status of this binary is interpreted
# as follows:
# 0 - continue with dump process as usual
# non 0 - reboot/halt the system
#
# extra_bins <binaries | shell scripts>
# - This directive allows you to specify additional
# binaries or shell scripts you'd like to include in
# your kdump initrd. Generally only useful in
# conjunction with a kdump_post binary or script that
# relies on other binaries or scripts.
#
# extra_modules <module(s)>
# - This directive allows you to specify extra kernel
# modules that you want to be loaded in the kdump
# initrd, typically used to set up access to
# non-boot-path dump targets that might otherwise
# not be accessible in the kdump environment. Multiple
# modules can be listed, separated by a space, and any
# dependent modules will automatically be included.
# Module name should be specified without ".ko" suffix.
#
# options <module> <option list>
# - This directive allows you to specify options to apply
# to modules in the initramfs. This directive overrides
# options specified in /etc/modprobe.conf. Module name
# should be specified without ".ko" suffix.
#
# blacklist <module|directory>
# - Prevents modules from being loaded in the initframfs,
# either directly during auto-created insmod calls or as
# a dependency of another module load. A specific module
# or a directory can be specified. In the latter case,
# all modules found below the specified directory will
# be excluded. This directive can be specified multiple
# times or as a space separated list. Module name should
# be specified without ".ko" suffix.
#
# sshkey <path>
# - Specifies the path of the ssh identity file you want
# to use when doing ssh dump. It must be a private key,
# the default value is /root/.ssh/kdump_id_rsa. When
# progagating public key, the key is assumed to be
# identity_file.pub which by default is
# /root/.ssh/kdump_id_rsa.pub.
#
# default <reboot | halt | poweroff | shell | mount_root_run_init>
# - Action to preform in case dumping to intended target
# fails. If no default action is specified, "reboot"
# is assumed default.
#
# reboot: If the default action is reboot simply reboot
# the system and loose the core that you are
# trying to retrieve.
# halt: If the default action is halt, then simply
# halt the system after attempting to capture
# a vmcore, regardless of success or failure.
# poweroff: The system will be powered down
# shell: If the default action is shell, then drop to
# an hush session inside the initramfs from
# where you can try to record the core manually.
# Exiting this shell reboots the system.
# mount_root_run_init: Mount root filesystem and run init. Kdump
# initscript will try to save dump to root
# filesystem in /var/crash dir. This will
# likely require a lot more memory to
# be reserved for kdump kernel.
#
# debug_mem_level <0-3>
# - Turns on debug/verbose output of kdump scripts
# regarding free/used memory at various points of
# execution. Higher level means more debugging output.
# 0 - no output
# 1 - partial /proc/meminfo
# 2 - /proc/meminfo
# 3 - /proc/meminfo + /proc/slabinfo
#
# force_rebuild <0 | 1>
# - By default, kdump initrd only will be rebuilt when
# necessary. Specify 1 here to force rebuilding kdump
# initrd every time when kdump service starts.