Hi, All
A while a ago, Vivek found the dead file, kdump.init is still in our fedora git repo. I decide to remove it along with some cleanup of ia64 build in kexec-tools rpm spec.
I think I will push these changes unless you guys have problem with it.
Thanks WANG Chao
WANG Chao (2): remove dead file kdump.init kexec-tools.spec: remove ia64 architecture
kdump.init | 380 ------------------------------------------------------- kexec-tools.spec | 34 +---- 2 files changed, 7 insertions(+), 407 deletions(-) delete mode 100644 kdump.init
Signed-off-by: WANG Chao chaowang@redhat.com --- kdump.init | 380 ------------------------------------------------------------- 1 file changed, 380 deletions(-) delete mode 100644 kdump.init
diff --git a/kdump.init b/kdump.init deleted file mode 100644 index 35cb822..0000000 --- a/kdump.init +++ /dev/null @@ -1,380 +0,0 @@ -#! /bin/sh -### BEGIN INIT INFO -# Provides: kdump -# Default-Start: 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: start and stop kdump crash recovery service -# Description: The kdump init script provides the support necessary for -# loading a kdump kernel into memory at system bootup time, -# and for copying away a vmcore at system panic time. -### END INIT INFO -# Copyright 2005 Red Hat, Inc. -# -# chkconfig: - 20 80 -# -# Author: Jeff Moyer jmoyer@redhat.com - - -# Source function library. -. /etc/init.d/functions - -KEXEC=/sbin/kexec - -# Will be different for ia64, for example. For now, that architecture isn't -# supported. Code needs to be added here when we do. -BOOTDIR="/boot" - -KDUMP_KERNELVER="" -KDUMP_COMMANDLINE="" -KEXEC_ARGS="" -KDUMP_CONFIG_FILE="/etc/kdump.conf" - -LOGGER="/usr/bin/logger -p info -t kdump" - -standard_kexec_args="-p" - -if [ -f /etc/sysconfig/kdump ]; then - . /etc/sysconfig/kdump -fi - -function save_core() -{ - coredir="/var/crash/`date +"%Y-%m-%d-%H:%M"`" - - mkdir -p $coredir - cp --sparse=always /proc/vmcore $coredir/vmcore-incomplete - if [ $? == 0 ]; then - mv $coredir/vmcore-incomplete $coredir/vmcore - $LOGGER "saved a vmcore to $coredir" - else - $LOGGER "failed to save a vmcore to $coredir" - fi - - # pass the dmesg to Abrt tool if exists, in order - # to collect the kernel oops message. - # https://fedorahosted.org/abrt/ - if [ -x /usr/bin/dumpoops ]; then - makedumpfile --dump-dmesg $coredir/vmcore $coredir/dmesg >/dev/null 2>&1 - dumpoops -d $coredir/dmesg >/dev/null 2>&1 - if [ $? == 0 ]; then - $LOGGER "kernel oops has been collected by abrt tool" - fi - fi -} - -function check_config() -{ - if [ -f /etc/kdump-adv-conf/initramfs.conf ] - then - $LOGGER "Using Kdump advanced configuration service" - if [ -n "$DRACUT_CMD" ] - then - MKDUMPRD=$DRACUT_CMD - else - MKDUMPRD="dracut -f -c /etc/kdump-adv-conf/initramfs.conf" - fi - # We always rebuild here, since it takes longer - # to figure out if anything has changed - touch /etc/kdump.conf - else - MKDUMPRD="/sbin/mkdumprd -d -f" - fi - - if [ -z "$KDUMP_KERNELVER" ]; then - local running_kernel=`uname -r` - - kdump_kver=`echo $running_kernel | sed 's/smp//g'` - else - kdump_kver=$KDUMP_KERNELVER - fi - - kdump_kernel="${KDUMP_BOOTDIR}/${KDUMP_IMG}-${kdump_kver}${KDUMP_IMG_EXT}" - kdump_initrd="${KDUMP_BOOTDIR}/initrd-${kdump_kver}kdump.img" - - if [ ! -f $kdump_kernel ]; then - echo -n "No kdump kernel image found."; warning; echo - echo "Tried to locate ${kdump_kernel}" - return 0 - fi - - if [ ! -f $kdump_initrd ]; then - echo -n "No kdump initial ramdisk found."; warning; echo - echo "Rebuilding $kdump_initrd" - $MKDUMPRD $kdump_initrd $kdump_kver - if [ $? != 0 ]; then - echo "Failed to run mkdumprd" - $LOGGER "mkdumprd: failed to make kdump initrd" - exit 1 - fi - return 0 - fi - - #check to see if config file has been modified after - #last build of the image file - config_time=0 - if [ -f $KDUMP_CONFIG_FILE ]; then - config_time=`stat -c "%Y" $KDUMP_CONFIG_FILE` - fi - kernel_time=`stat -c "%Y" $kdump_kernel` - image_time=`stat -c "%Y" $kdump_initrd` - - if [ "$config_time" -gt "$image_time" ] || - [ "$kernel_time" -gt "$image_time" ]; then - echo "Detected $KDUMP_CONFIG_FILE or $kdump_kernel change" - echo "Rebuilding $kdump_initrd" - $MKDUMPRD $kdump_initrd $kdump_kver - if [ $? != 0 ]; then - echo "Failed to run mkdumprd" - $LOGGER "mkdumprd: failed to make kdump initrd" - return 1 - fi - fi - -} - -# This function check iomem and determines if we have more than -# 4GB of ram available. Returns 1 if we do, 0 if we dont -function need_64bit_headers() -{ - return `tail -n 1 /proc/iomem | awk '{ split ($1, r, "-"); \ - print (strtonum("0x" r[2]) > strtonum("0xffffffff")); }'` -} - -# Load the kdump kerel specified in /etc/sysconfig/kdump -# If none is specified, try to load a kdump kernel with the same version -# as the currently running kernel. -function load_kdump() -{ - - if [ -z "$KDUMP_COMMANDLINE" ] - then - KDUMP_COMMANDLINE=`cat /proc/cmdline` - fi - - ARCH=`uname -m` - if [ "$ARCH" == "ppc64" ] - then - MEM_RESERVED=`grep "crashkernel=[0-9]+[MmKkGg]@[0-9]+[MmGgKk]" /proc/cmdline` - if [ -z "$MEM_RESERVED" ] - then - MEM_RESERVED=`grep "crashkernel=[0-9]+[MmKkGg]" /proc/cmdline` - fi - else - MEM_RESERVED=`grep "Crash kernel" /proc/iomem | grep -v "00000000-00000000"` - fi - - if [ -z "$MEM_RESERVED" ] - then - $LOGGER "No crashkernel parameter specified for running kernel" - return 1 - fi - - if [ "$ARCH" == "i686" -o "$ARCH" == "i386" ] - then - - need_64bit_headers - if [ $? == 1 ] - then - FOUND_ELF_ARGS=`echo $KEXEC_ARGS | grep elf32-core-headers` - if [ -n "$FOUND_ELF_ARGS" ] - then - echo -n "Warning: elf32-core-headers overrides correct elf64 setting" - warning - echo - else - KEXEC_ARGS="$KEXEC_ARGS --elf64-core-headers" - fi - else - FOUND_ELF_ARGS=`echo $KEXEC_ARGS | grep elf64-core-headers` - if [ -z "$FOUND_ELF_ARGS" ] - then - KEXEC_ARGS="$KEXEC_ARGS --elf32-core-headers" - fi - fi - fi - - KDUMP_COMMANDLINE=`echo $KDUMP_COMMANDLINE | sed -e 's/crashkernel=[^ ]*//'` - KDUMP_COMMANDLINE="${KDUMP_COMMANDLINE} ${KDUMP_COMMANDLINE_APPEND}" - - $KEXEC $KEXEC_ARGS $standard_kexec_args \ - --command-line="$KDUMP_COMMANDLINE" \ - --initrd=$kdump_initrd $kdump_kernel 2>/dev/null - if [ $? == 0 ]; then - $LOGGER "kexec: loaded kdump kernel" - return 0 - else - $LOGGER "kexec: failed to load kdump kernel" - return 1 - fi -} - -function propagate_ssh_key() -{ - #Check if selinux is on... must flip to permissive mode - #for the moment to create key, then flip back... - se_enforce=`/usr/sbin/sestatus | grep -c "^Current mode.*enforcing"` - if [ "$se_enforce" -ge 1 ]; then - /usr/sbin/setenforce 0 2>&1 > /dev/null - fi - - #Use dedicated key for kdump - if [ ! -d /root/.ssh ]; then - mkdir /root/.ssh - chmod 700 /root/.ssh - fi - if [ ! -e /root/.ssh/config ]; then - echo "IdentityFile ~/.ssh/kdump_id_rsa" >> /root/.ssh/config - elif [ `grep -c kdump_id_rsa /root/.ssh/config` -eq 0 ]; then - echo "IdentityFile ~/.ssh/kdump_id_rsa" >> /root/.ssh/config - fi - local KEYFILE=/root/.ssh/kdump_id_rsa.pub - local errmsg="Failed to propagate ssh key" - - #make sure they've configured kdump.conf for ssh dumps - local SSH_TARGET=`awk '/^\ *net.*@.*$/ {print $0}' $KDUMP_CONFIG_FILE` - if [ -z "$SSH_TARGET" ]; then - echo "No ssh config specified in $KDUMP_CONFIG_FILE. Can't propagate" - $LOGGER "$errmsg, no ssh config specified in $KDUMP_CONFIG_FILE" - exit 1 - fi - - #Check to see if we already created key, if not, create it. - if [ -f $KEYFILE ]; then - echo "Using existing keys..." - else - echo -n "Generating new ssh keys... " - /usr/bin/ssh-keygen -t rsa -f /root/.ssh/kdump_id_rsa -N "" 2>&1 > /dev/null - echo "done." - fi - - #If necessary, flip selinux back to enforcing - if [ "$se_enforce" -ge 1 ]; then - /usr/sbin/setenforce 1 2>&1 > /dev/null - fi - - #now find the target ssh user and server to contact. - SSH_USER=`echo $SSH_TARGET | cut -d\ -f2 | cut -d@ -f1` - SSH_SERVER=`echo $SSH_TARGET | sed -e's/(.*@)(.*$)/\2/'` - - #now send the found key to the found server - ssh-copy-id -i $KEYFILE $SSH_USER@$SSH_SERVER &>/dev/null - RET=$? - if [ $RET == 0 ]; then - echo $KEYFILE has been added to ~$SSH_USER/.ssh/authorized_keys on $SSH_SERVER - $LOGGER "propagated ssh key (ssh server: $SSH_SERVER)" - return 0 - else - echo $KEYFILE failed in transfer to $SSH_SERVER - $LOGGER "$errmsg, unable to transfer $KEYFILE to $SSH_SERVER" - exit 1 - fi - -} - -function status() -{ - if [ ! -e /sys/kernel/kexec_crash_loaded ] - then - return 2 - fi - rc=`cat /sys/kernel/kexec_crash_loaded` - if [ $rc == 1 ]; then - return 0 - else - return 1 - fi -} - -function start() -{ - #TODO check raw partition for core dump image - status - rc=$? - if [ $rc == 2 ]; then - echo -n "Kdump is not supported on this kernel"; failure; echo - return 1; - else - if [ $rc == 0 ]; then - echo -n "Kdump already running"; success; echo - return 0 - fi - fi - check_config - if [ $? != 0 ]; then - echo -n "Starting kdump:"; failure; echo - $LOGGER "failed to start up, config file incorrect" - return 1 - fi - load_kdump - if [ $? != 0 ]; then - echo -n "Starting kdump:"; failure; echo - $LOGGER "failed to start up" - return 1 - fi - - echo -n "Starting kdump:"; success; echo - $LOGGER "started up" -} - -function stop() -{ - $KEXEC -p -u 2>/dev/null - if [ $? == 0 ]; then - $LOGGER "kexec: unloaded kdump kernel" - echo -n "Stopping kdump:"; success; echo - $LOGGER "stopped" - return 0 - else - $LOGGER "kexec: failed to unload kdump kernel" - echo -n "Stopping kdump:"; failure; echo - $LOGGER "failed to stop" - return 1 - fi -} - -case "$1" in - start) - if [ -s /proc/vmcore ]; then - save_core - reboot - else - start - fi - ;; - stop) - stop - ;; - status) - EXIT_CODE=0 - status - case "$?" in - 0) - echo "Kdump is operational" - EXIT_CODE=0 - ;; - 1) - echo "Kdump is not operational" - EXIT_CODE=3 - ;; - 2) - echo "Kdump is unsupported on this kernel" - EXIT_CODE=3 - ;; - esac - exit $EXIT_CODE - ;; - restart) - stop - start - ;; - condrestart) - ;; - propagate) - propagate_ssh_key - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|propagate}" - exit 1 -esac - -exit $?
Signed-off-by: WANG Chao chaowang@redhat.com --- kexec-tools.spec | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-)
diff --git a/kexec-tools.spec b/kexec-tools.spec index 150b51b..f208cad 100644 --- a/kexec-tools.spec +++ b/kexec-tools.spec @@ -10,7 +10,6 @@ Source2: kdump.sysconfig Source3: kdump.sysconfig.x86_64 Source4: kdump.sysconfig.i386 Source5: kdump.sysconfig.ppc64 -Source6: kdump.sysconfig.ia64 Source7: mkdumprd Source8: kdump.conf Source9: http://downloads.sourceforge.net/project/makedumpfile/makedumpfile/1.5.5/mak... @@ -44,7 +43,7 @@ Requires: dracut, dracut-network, ethtool BuildRequires: zlib-devel zlib zlib-static elfutils-devel-static glib2-devel bzip2-devel ncurses-devel bison flex lzo-devel snappy-devel BuildRequires: pkgconfig intltool gettext BuildRequires: systemd-units -%ifarch %{ix86} x86_64 ppc64 ia64 ppc s390x +%ifarch %{ix86} x86_64 ppc64 ppc s390x Obsoletes: diskdumputils netdump %endif
@@ -61,10 +60,6 @@ ExcludeArch: aarch64 #
# -# Patches 201 through 300 are meant for ia64 kexec-tools enablement -# - -# # Patches 301 through 400 are meant for ppc64 kexec-tools enablement #
@@ -90,7 +85,7 @@ normal or a panic reboot. This package contains the /sbin/kexec binary and ancillary utilities that together form the userspace component of the kernel's kexec feature.
-%ifarch %{ix86} x86_64 ia64 ppc64 s390x +%ifarch %{ix86} x86_64 ppc64 s390x %package eppic Requires: %{name} = %{version} Summary: Additional eppic_makedumpfile.so shared object @@ -122,14 +117,6 @@ tar -z -x -v -f %{SOURCE13} %endif
%build -%ifarch ia64 -# ia64 gcc seems to have a problem adding -fexception -fstack-protect and -# -param ssp-protect-size, like the %configure macro does -# while that shouldn't be a problem, and it still builds fine, it results in -# the kdump kernel hanging on kexec boot. I don't yet know why, but since those -# options aren't critical, I'm just overrideing them here for ia64 -export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2" -%endif
%configure \ %ifarch ppc64 @@ -143,7 +130,7 @@ cp %{SOURCE10} . cp %{SOURCE21} .
make -%ifarch %{ix86} x86_64 ia64 ppc64 s390x +%ifarch %{ix86} x86_64 ppc64 s390x make -C eppic/libeppic make -C makedumpfile-1.5.5 LINKTYPE=dynamic USELZO=on USESNAPPY=on %endif @@ -186,7 +173,7 @@ install -m 755 -D %{SOURCE22} $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system-gener mkdir -p $RPM_BUILD_ROOT/usr/sbin install -m 755 %{SOURCE17} $RPM_BUILD_ROOT/usr/sbin/rhcrashkernel-param
-%ifarch %{ix86} x86_64 ia64 ppc64 s390x +%ifarch %{ix86} x86_64 ppc64 s390x install -m 755 makedumpfile-1.5.5/makedumpfile $RPM_BUILD_ROOT/sbin/makedumpfile install -m 644 makedumpfile-1.5.5/makedumpfile.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8/makedumpfile.8.gz install -m 644 makedumpfile-1.5.5/makedumpfile.conf.5.gz $RPM_BUILD_ROOT/%{_mandir}/man5/makedumpfile.conf.5.gz @@ -283,15 +270,8 @@ rm -f %{_datadir}/firstboot/modules/firstboot_kdump.py # and search for corresponding kernel installs, if a kernel # is not found, remove the corresponding kdump initrd
-#start by getting a list of all the kdump initrds -MY_ARCH=`uname -m` -if [ "$MY_ARCH" == "ia64" ] -then - IMGDIR=/boot/efi/efi/redhat -else - IMGDIR=/boot -fi
+IMGDIR=/boot for i in `ls $IMGDIR/initramfs*kdump.img 2>/dev/null` do KDVER=`echo $i | sed -e's/^.*initramfs-//' -e's/kdump.*$//'` @@ -309,7 +289,7 @@ done %{_bindir}/* %{_datadir}/kdump %{_prefix}/lib/kdump -%ifarch %{ix86} x86_64 ia64 ppc64 s390x +%ifarch %{ix86} x86_64 ppc64 s390x %{_sysconfdir}/makedumpfile.conf.sample %endif %config(noreplace,missingok) %{_sysconfdir}/sysconfig/kdump @@ -329,7 +309,7 @@ done %doc kexec-kdump-howto.txt %doc kdump-in-cluster-environment.txt
-%ifarch %{ix86} x86_64 ia64 ppc64 s390x +%ifarch %{ix86} x86_64 ppc64 s390x %files eppic %{_libdir}/eppic_makedumpfile.so %endif
On Mon, Apr 21, 2014 at 04:54:26PM +0800, WANG Chao wrote:
Hi, All
A while a ago, Vivek found the dead file, kdump.init is still in our fedora git repo. I decide to remove it along with some cleanup of ia64 build in kexec-tools rpm spec.
I think I will push these changes unless you guys have problem with it.
I am fine with removing bits for IA64 support as well as removing dead code of kdump.init.
Acked-by: Vivek Goyal vgoyal@redhat.com
Thanks Vivek
Thanks WANG Chao
WANG Chao (2): remove dead file kdump.init kexec-tools.spec: remove ia64 architecture
kdump.init | 380 ------------------------------------------------------- kexec-tools.spec | 34 +---- 2 files changed, 7 insertions(+), 407 deletions(-) delete mode 100644 kdump.init
-- 1.9.0
On Mon, Apr 21, 2014 at 04:54:26PM +0800, WANG Chao wrote:
Hi, All
A while a ago, Vivek found the dead file, kdump.init is still in our fedora git repo. I decide to remove it along with some cleanup of ia64 build in kexec-tools rpm spec.
I think I will push these changes unless you guys have problem with it.
Thanks WANG Chao
WANG Chao (2): remove dead file kdump.init kexec-tools.spec: remove ia64 architecture
Chao,
I think kdump.sysconfig.ia64 is also redundant and should be removed.
Thanks Vivek
On 04/25/14 at 10:33am, Vivek Goyal wrote:
On Mon, Apr 21, 2014 at 04:54:26PM +0800, WANG Chao wrote:
Hi, All
A while a ago, Vivek found the dead file, kdump.init is still in our fedora git repo. I decide to remove it along with some cleanup of ia64 build in kexec-tools rpm spec.
I think I will push these changes unless you guys have problem with it.
Thanks WANG Chao
WANG Chao (2): remove dead file kdump.init kexec-tools.spec: remove ia64 architecture
Chao,
I think kdump.sysconfig.ia64 is also redundant and should be removed.
I forgot this one. I'll remove it too.