Author: glen Date: Sun Jun 28 22:38:40 2009 GMT Module: packages Tag: HEAD ---- Log message: - add initscript to load kexec image
---- Files affected: packages/kexec-tools: kexec-tools.spec (1.18 -> 1.19) , kexec.init (NONE -> 1.1) (NEW), kexec.sysconfig (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/kexec-tools/kexec-tools.spec diff -u packages/kexec-tools/kexec-tools.spec:1.18 packages/kexec-tools/kexec-tools.spec:1.19 --- packages/kexec-tools/kexec-tools.spec:1.18 Mon Jun 29 00:18:55 2009 +++ packages/kexec-tools/kexec-tools.spec Mon Jun 29 00:38:35 2009 @@ -3,15 +3,20 @@ Summary(pl.UTF-8): Narzędzie pozwalające załadować nowe jądro bez konieczności restartu Name: kexec-tools Version: 2.0.0 -Release: 0.1 +Release: 0.3 License: GPL v2 Group: Applications/System Source0: http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/%{name}-%{version}.tar.bz2 # Source0-md5: d9f2ecd3c3307905f24130a25816e6cc Patch0: as-needed.patch +Source1: kexec.init +Source2: kexec.sysconfig URL: http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/ BuildRequires: autoconf +BuildRequires: rpmbuild(macros) >= 1.228 BuildRequires: zlib-devel +Requires(post,preun): /sbin/chkconfig +Requires: rc-scripts ExclusiveArch: %{ix86} %{x8664} alpha ia64 ppc ppc64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -40,16 +45,32 @@ %install rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT +install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/kexec +cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/kexec + %clean rm -rf $RPM_BUILD_ROOT +%post +/sbin/chkconfig --add kexec +%service kexec restart + +%preun +if [ "$1" = "0" ]; then + %service -q kexec stop + /sbin/chkconfig --del kexec +fi + %files %defattr(644,root,root,755) %doc AUTHORS News TODO +%attr(754,root,root) /etc/rc.d/init.d/kexec +%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kexec %attr(755,root,root) %{_sbindir}/kdump %attr(755,root,root) %{_sbindir}/kexec %dir %{_libdir}/kexec-tools @@ -61,6 +82,9 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.19 2009/06/28 22:38:35 glen +- add initscript to load kexec image + Revision 1.18 2009/06/28 22:18:55 glen - up to 2.0.0, new url @@ -116,3 +140,6 @@ Revision 1.2 2003/07/13 15:27:16 erjot - adapterized + +Revision 1.1 2003/07/13 15:13:22 erjot +- init version ================================================================ Index: packages/kexec-tools/kexec.init diff -u /dev/null packages/kexec-tools/kexec.init:1.1 --- /dev/null Mon Jun 29 00:38:40 2009 +++ packages/kexec-tools/kexec.init Mon Jun 29 00:38:35 2009 @@ -0,0 +1,65 @@ +#!/bin/sh +# +# kexec-load Load kernel image with kexec +# +# chkconfig: 345 99 01 +# +# description: This tool is used to load a kernel in memory and reboot into the kernel \ +# loaded in memory using the kexec system call. +# +# $Id$ + +# Source function library +. /etc/rc.d/init.d/functions + +LOAD_KEXEC=yes +KERNEL_IMAGE="/boot/vmlinuz" +INITRD="/boot/initrd" +APPEND="" + +# Get service config - may override defaults +[ -f /etc/sysconfig/kexec ] && . /etc/sysconfig/kexec + +stop() { + if ! is_yes "$LOAD_KEXEC" || [ ! -f /sys/kernel/kexec_loaded ]; then + return + fi + + # skip if already loaded something + if [ "`cat /sys/kernel/kexec_loaded 2>/dev/null`" = "1" ]; then + return + fi + + REAL_APPEND="$APPEND" + if [ -z "$REAL_APPEND" ]; then + REAL_APPEND=$(cat /proc/cmdline) + fi + + show "Loading new kernel image (%s) into memory" "$KERNEL_IMAGE" + if [ -z "$INITRD" ]; then + kexec -l "$KERNEL_IMAGE" --append="$REAL_APPEND" + else + kexec -l "$KERNEL_IMAGE" --initrd="$INITRD" --append="$REAL_APPEND" + fi + if [ $? = 0 ]; then + ok + else + fail + fi +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + # it's a noop + ;; + stop) + stop + ;; + *) + msg_usage "$0 {start|stop}" + exit 3 +esac + +exit $RETVAL ================================================================ Index: packages/kexec-tools/kexec.sysconfig diff -u /dev/null packages/kexec-tools/kexec.sysconfig:1.1 --- /dev/null Mon Jun 29 00:38:40 2009 +++ packages/kexec-tools/kexec.sysconfig Mon Jun 29 00:38:35 2009 @@ -0,0 +1,12 @@ +# Defaults for kexec initscript +# Sourced by /etc/rc.d/init.d/kexec + +# Load a kexec kernel (yes/no) +LOAD_KEXEC=yes + +# Kernel and initrd image +KERNEL_IMAGE="/boot/vmlinuz" +INITRD="/boot/initrd.gz" + +# If empty, use current /proc/cmdline +APPEND="" ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kexec-tools/kexec-tools.spec?r1=1.18&r2=1.19&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
