Hello community,
here is the log from the commit of package kexec-tools
checked in at Wed Dec 20 12:32:27 CET 2006.
--------
--- kexec-tools/kexec-tools.changes 2006-07-13 18:13:49.000000000 +0200
+++ /mounts/work_src_done/STABLE/kexec-tools/kexec-tools.changes 2006-12-20 11:06:57.000000000 +0100
@@ -1,0 +2,15 @@
+Wed Dec 20 10:59:26 CET 2006 - tiwai@suse.de
+
+- take kexec-tools-testing snapshot-20061219.
+ o ia64 support
+ o relocatable kernel support
+ o lots of cleanups/fixes
+- fix manpage and help about -u option (#208710)
+- ia64 kdump support (#214865, FATE#301433, FATE#301434)
+ o add boot argument "CRASH=1" to indicate the crash environment
+ (for kexec'ing with the same kernel)
+ o fix kdump init script for ia64, which has only vmlinuz and
+ uses the same kernel for kdump
+- reduce boot options for kdump kernel (#223500)
+
+-------------------------------------------------------------------
Old:
----
kexec-tools-1.101-kdump7.patch
kexec-tools-1.101.tar.bz2
kexec-tools-configure-fix.diff
kexec-tools-ia64-fix.diff
kexec-tools-ppc64-rm-platform-prop-fix.patch
kexec-tools-s390-fix.diff
kexec-tools-x86-warning-fix.diff
kexec-tools-x86_64-acpi-nvs-fix.patch
kexec.8
ppc64-kdump-tools-ELF-header-fix.patch
New:
----
kexec-tools-testing-20061219.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kexec-tools.spec ++++++
--- /var/tmp/diff_new_pack.xo3t11/_old 2006-12-20 12:32:05.000000000 +0100
+++ /var/tmp/diff_new_pack.xo3t11/_new 2006-12-20 12:32:05.000000000 +0100
@@ -11,28 +11,20 @@
# norootforbuild
Name: kexec-tools
-License: GPL
+%define package_version testing-20061219
+License: GNU General Public License (GPL)
Group: System/Kernel
Requires: %insserv_prereq %fillup_prereq
Autoreqprov: on
Summary: Tools for fast kernel loading
Version: 1.101
-Release: 38
-Source: %{name}-%{version}.tar.bz2
+Release: 59
+Source: %{name}-%{package_version}.tar.bz2
Source1: kdump
Source2: sysconfig.kdump
Source3: gdbinit.kdump
Source4: gdb-kdump
Source5: README.SUSE
-Source6: kexec.8
-Patch: kexec-tools-1.101-kdump7.patch
-Patch1: kexec-tools-configure-fix.diff
-Patch2: kexec-tools-x86-warning-fix.diff
-Patch3: kexec-tools-ia64-fix.diff
-Patch4: kexec-tools-s390-fix.diff
-Patch5: kexec-tools-ppc64-rm-platform-prop-fix.patch
-Patch6: ppc64-kdump-tools-ELF-header-fix.patch
-Patch7: kexec-tools-x86_64-acpi-nvs-fix.patch
URL: http://www.xmission.com/~ebiederm/files/kexec/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -54,27 +46,19 @@
Tim Deegan
%prep
-%setup -q
-%patch -p1
-%patch1
-%patch2
-%patch3
-%patch4
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
+%setup -q -n kexec-tools
%{?suse_update_config -f}
cp %{SOURCE5} .
%build
autoreconf -fi
./configure --prefix=/ --sbindir=/sbin --libdir=/%_lib
-make
+make CPPFLAGS="$RPM_OPT_FLAGS"
%install
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
-install -c -m 0644 %{SOURCE6} $RPM_BUILD_ROOT%{_mandir}/man8
+install -c -m 0644 kexec/kexec.8 $RPM_BUILD_ROOT%{_mandir}/man8
mkdir -p $RPM_BUILD_ROOT/etc/init.d
install -c -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d
mkdir -p $RPM_BUILD_ROOT/sbin
@@ -82,7 +66,12 @@
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
install -c -m 0644 %{SOURCE2} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.kdump
%ifarch %ix86 x86_64
-sed -i 's@^\(KEXEC_OPTIONS="\)\(.*"[[:blank:]]*$\)@\1 --args-linux \2@' $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.kdump
+# add --args-linux kexec command line option as default
+sed -i 's@^\(KEXEC_OPTIONS="\)\(.*"[[:blank:]]*$\)@\1--args-linux \2@' $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.kdump
+%endif
+%ifarch ia64
+# empty string for kdump kernel version (to indicate the same kernel)
+sed -i 's@^\(KDUMP_KERNELVER=\).*$@\1""@' $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.kdump
%endif
# install gdb helpers
mkdir -p $RPM_BUILD_ROOT%{_datadir}
@@ -112,12 +101,24 @@
%{_bindir}/*
%{_datadir}/gdbinit.*
%ifarch %ix86 x86_64
-/%_lib/kexec-tools
+/%_lib/kexec-tools*
%endif
/etc/init.d/kdump
/var/adm/fillup-templates/sysconfig.kdump
%changelog -n kexec-tools
+* Wed Dec 20 2006 - tiwai@suse.de
+- take kexec-tools-testing snapshot-20061219.
+ o ia64 support
+ o relocatable kernel support
+ o lots of cleanups/fixes
+- fix manpage and help about -u option (#208710)
+- ia64 kdump support (#214865, FATE#301433, FATE#301434)
+ o add boot argument "CRASH=1" to indicate the crash environment
+ (for kexec'ing with the same kernel)
+ o fix kdump init script for ia64, which has only vmlinuz and
+ uses the same kernel for kdump
+- reduce boot options for kdump kernel (#223500)
* Thu Jul 13 2006 - tiwai@suse.de
- fixed the calculation of required disk space in kdump
init script (#192172)
++++++ README.SUSE ++++++
--- kexec-tools/README.SUSE 2006-07-13 18:09:20.000000000 +0200
+++ /mounts/work_src_done/STABLE/kexec-tools/README.SUSE 2006-12-20 10:58:21.000000000 +0100
@@ -3,9 +3,9 @@
Prerequisites
=============
-Be sure that you have installed the kexec-tools rpm and the kernel_kdump
-rpm. The version of the kernel_kdump rpm must match the version of the
-running system kernel.
+Be sure that you have installed the kexec-tools rpm. For x86, x86-64
+and ppc64, install kernel-kdump.rpm, too. The version of the
+kernel-kdump rpm must match the version of the running system kernel.
Overview
@@ -61,7 +61,8 @@
An example of this boot loader option is "crashkernel=64M@16M". The 64M
shows the reserved space for the Kdump recovery kernel, and the 16M is
-the address of the reserved area.
+the address of the reserved area. On ia64, the start offset is
+calculated by the kernel, so @xxx offset is ignored.
You can add this option either with the YaST boot loader module, or by
manually editing the boot loader configuration file.
@@ -70,6 +71,7 @@
i386: crashkernel=64M@16M
x86_64: crashkernel=64M@16M
+ia64: crashkernel=128M
PPC64: crashkernel=128M@32M
After setting the boot loader option, activate the Kdump init script,
@@ -171,7 +173,8 @@
If you do not specify a version, then the init script will try to find a
Kdump kernel with the same version number as the running kernel. Using
the string "kdump" will default to the most recently installed Kdump
-kernel.
+kernel (suitable for x86, x86-64 and ppc64). For ia64, keep this
+string empty to point the same running kernel.
- KDUMP_COMMANDLINE
++++++ kdump ++++++
--- kexec-tools/kdump 2006-07-13 17:38:36.000000000 +0200
+++ /mounts/work_src_done/STABLE/kexec-tools/kdump 2006-12-20 10:58:21.000000000 +0100
@@ -93,6 +93,34 @@
rc_status -v
}
+# print the available kdump kernel path
+# empty if no matching file is found
+check_boot_kernel ()
+{
+ local kstr
+ kstr="${BOOTDIR}/vmlinux-$1$2"
+ if [ -f $kstr ]; then
+ echo $kstr
+ return
+ fi
+ kstr="$kstr.gz"
+ if [ -f $kstr ]; then
+ echo $kstr
+ return
+ fi
+ case `uname -i` in
+ ia64)
+ # ia64 uses vmlinuz as of vmlinux.gz
+ kstr="${BOOTDIR}/vmlinuz-$1$2"
+ if [ -f $kstr ]; then
+ echo $kstr
+ return
+ fi
+ ;;
+ esac
+}
+
+
# 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.
@@ -100,23 +128,28 @@
{
echo -n "Loading kdump "
if [ -z "$KDUMP_KERNELVER" ]; then
- kdump_kver=`uname -r | sed 's/-smp//g'`
- kdump_kver="${kdump_kver}-kdump"
+ kdump_kver=`uname -r | sed -e's/-[^-]*$//g'`
+ kdump_kernel=`check_boot_kernel $kdump_kver -kdump`
+ if [ -n "$kdump_kernel" ]; then
+ kdump_kver="${kdump_kver}-kdump"
+ elif [ -z "$kdump_kernel" ]; then
+ kdump_kver=`uname -r`
+ kdump_kernel=`check_boot_kernel $kdump_kver`
+ fi
else
- kdump_kver=$KDUMP_KERNELVER
+ kdump_kver="$KDUMP_KERNELVER"
+ kdump_kernel=`check_boot_kernel $kdump_kver`
fi
- kdump_kernel="${BOOTDIR}/vmlinux-${kdump_kver}"
- kdump_initrd="${BOOTDIR}/initrd-${kdump_kver}"
-
- if [ ! -f $kdump_kernel ]; then
- echo -n ": No kdump kernel image found."
- echo "Tried to locate ${kdump_kernel}"
+ if [ -z "$kdump_kernel" -o ! -f "$kdump_kernel" ]; then
+ echo -n ": No kdump kernel image found for kernel $kdump_kver."
rc_status -s
rc_failed 6
rc_exit
fi
+ kdump_initrd="${BOOTDIR}/initrd-${kdump_kver}"
+
if [ ! -f $kdump_initrd ]; then
echo -n ": No kdump initial ramdisk found."
echo "Tried to locate ${kdump_initrd}"
@@ -127,16 +160,19 @@
if [ -z "$KDUMP_COMMANDLINE" ]; then
KDUMP_COMMANDLINE=`cat /proc/cmdline`
- KDUMP_COMMANDLINE=`echo $KDUMP_COMMANDLINE | sed -e 's/crashkernel=[0-9]\+[mM]\(@[0-9]\+[Mm]\)\?//g' `
+ KDUMP_COMMANDLINE=`echo $KDUMP_COMMANDLINE | \
+ sed -e 's/crashkernel=[0-9]\+[mM]\(@[0-9]\+[Mm]\)\?//g' \
+ -e 's/ *splash=[^ ]* / /g' \
+ -e 's/ *showopts/ /g'`
# Use deadline for saving the memory footprint
- KDUMP_COMMANDLINE="$KDUMP_COMMANDLINE elevator=deadline"
+ KDUMP_COMMANDLINE="$KDUMP_COMMANDLINE elevator=deadline sysrq=1"
case `uname -i` in
i?86|x86_64)
KDUMP_COMMANDLINE="$KDUMP_COMMANDLINE irqpoll"
;;
esac
fi
- KDUMP_COMMANDLINE="sysrq=1 $KDUMP_COMMANDLINE"
+ KDUMP_COMMANDLINE="CRASH=1 $KDUMP_COMMANDLINE"
if [ -n "$KDUMP_RUNLEVEL" ]; then
case "$KDUMP_RUNLEVEL" in
[1-5s])
@@ -158,9 +194,23 @@
rc_status -v
}
+# return success if running in a crash environemnt
+is_crash_kernel ()
+{
+ test -f /proc/vmcore || return 1
+ # FIXME: any better way to detect crash environment?
+ test -n "$CRASH" && return 0
+ case `uname -i` in
+ ia64)
+ # ia64 has no kdump kernel
+ return 1;;
+ esac
+ return 0
+}
+
case "$1" in
start)
- if [ -f /proc/vmcore ]; then
+ if is_crash_kernel; then
if [ -n "$KDUMP_TRANSFER" ]; then
$KDUMP_TRANSFER
else
@@ -178,7 +228,7 @@
stop)
if [ ! -f /proc/vmcore ]; then
echo -n "Unloading kdump"
- $KEXEC -u
+ $KEXEC -p -u
rc_status -v
fi
;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org