diff options
Diffstat (limited to 'package/kexec-tools')
-rw-r--r-- | package/kexec-tools/Config.in | 21 | ||||
-rw-r--r-- | package/kexec-tools/Makefile | 79 | ||||
-rw-r--r-- | package/kexec-tools/patches/0004-mips_regdefs.patch | 103 |
3 files changed, 203 insertions, 0 deletions
diff --git a/package/kexec-tools/Config.in b/package/kexec-tools/Config.in new file mode 100644 index 000000000..60c819d79 --- /dev/null +++ b/package/kexec-tools/Config.in @@ -0,0 +1,21 @@ +menu "Configuration" + depends on PACKAGE_kexec-tools + +config KEXEC_TOOLS_TARGET_NAME + string + prompt "Target name for kexec kernel" + default EXTRA_TARGET_ARCH_NAME if powerpc64 + default ARCH + help + Defines the target type of the kernels that kexec deals + with. This should be the target specification of + the kernel you're booting. + +config KEXEC_TOOLS_kdump + bool + prompt "kdump support" + default n + help + Include the kdump utility. + +endmenu diff --git a/package/kexec-tools/Makefile b/package/kexec-tools/Makefile new file mode 100644 index 000000000..87ad808e7 --- /dev/null +++ b/package/kexec-tools/Makefile @@ -0,0 +1,79 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=kexec-tools +PKG_VERSION:=2.0.3 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kexec +PKG_MD5SUM:=b3ced2097ce3981abba38ceedc84f939 + +PKG_FIXUP:=autoreconf + +include $(INCLUDE_DIR)/package.mk + +define Package/kexec-tools + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=@armeb||@arm||@i386||@powerpc64||@mipsel||@mips +zlib + TITLE:=Kernel boots kernel + URL:=http://kernel.org/pub/linux/kernel/people/horms/kexec-tools/ + MENU:=1 +endef + +define Package/kexec-tools/description + kexec is a set of systems call that allows you to load + another kernel from the currently executing Linux kernel. +endef + +define Package/kexec-tools/config + source "$(SOURCE)/Config.in" +endef + +KEXEC_TARGET_NAME:=$(call qstrip,$(CONFIG_KEXEC_TOOLS_TARGET_NAME))-linux-$(TARGET_SUFFIX) + +CONFIGURE_ARGS = \ + --target=$(KEXEC_TARGET_NAME) \ + --host=$(REAL_GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc + +CONFIGURE_VARS += \ + BUILD_CC="$(HOSTCC)" \ + TARGET_CC="$(TARGET_CC)" + +kexec-extra-sbin-$(CONFIG_KEXEC_TOOLS_kdump) += kdump + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install +endef + +define Package/kexec-tools/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) \ + $(addprefix $(PKG_INSTALL_DIR)/usr/sbin/, \ + $(kexec-extra-sbin-y)) \ + $(kexec-extra-bin-y) \ + $(PKG_INSTALL_DIR)/usr/sbin/kexec \ + $(1)/usr/sbin + +# make a link for compatability with other distros + $(INSTALL_DIR) $(1)/sbin + ln -s /usr/sbin/kexec $(1)/sbin/kexec +endef + +$(eval $(call BuildPackage,kexec-tools)) diff --git a/package/kexec-tools/patches/0004-mips_regdefs.patch b/package/kexec-tools/patches/0004-mips_regdefs.patch new file mode 100644 index 000000000..7e21349aa --- /dev/null +++ b/package/kexec-tools/patches/0004-mips_regdefs.patch @@ -0,0 +1,103 @@ +--- /dev/null ++++ b/kexec/arch/mips/regdef.h +@@ -0,0 +1,100 @@ ++/* ++ * This file is subject to the terms and conditions of the GNU General Public ++ * License. See the file "COPYING" in the main directory of this archive ++ * for more details. ++ * ++ * Copyright (C) 1985 MIPS Computer Systems, Inc. ++ * Copyright (C) 1994, 95, 99, 2003 by Ralf Baechle ++ * Copyright (C) 1990 - 1992, 1999 Silicon Graphics, Inc. ++ */ ++#ifndef _ASM_REGDEF_H ++#define _ASM_REGDEF_H ++ ++#include <asm/sgidefs.h> ++ ++#if _MIPS_SIM == _MIPS_SIM_ABI32 ++ ++/* ++ * Symbolic register names for 32 bit ABI ++ */ ++#define zero $0 /* wired zero */ ++#define AT $1 /* assembler temp - uppercase because of ".set at" */ ++#define v0 $2 /* return value */ ++#define v1 $3 ++#define a0 $4 /* argument registers */ ++#define a1 $5 ++#define a2 $6 ++#define a3 $7 ++#define t0 $8 /* caller saved */ ++#define t1 $9 ++#define t2 $10 ++#define t3 $11 ++#define t4 $12 ++#define t5 $13 ++#define t6 $14 ++#define t7 $15 ++#define s0 $16 /* callee saved */ ++#define s1 $17 ++#define s2 $18 ++#define s3 $19 ++#define s4 $20 ++#define s5 $21 ++#define s6 $22 ++#define s7 $23 ++#define t8 $24 /* caller saved */ ++#define t9 $25 ++#define jp $25 /* PIC jump register */ ++#define k0 $26 /* kernel scratch */ ++#define k1 $27 ++#define gp $28 /* global pointer */ ++#define sp $29 /* stack pointer */ ++#define fp $30 /* frame pointer */ ++#define s8 $30 /* same like fp! */ ++#define ra $31 /* return address */ ++ ++#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ ++ ++#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 ++ ++#define zero $0 /* wired zero */ ++#define AT $at /* assembler temp - uppercase because of ".set at" */ ++#define v0 $2 /* return value - caller saved */ ++#define v1 $3 ++#define a0 $4 /* argument registers */ ++#define a1 $5 ++#define a2 $6 ++#define a3 $7 ++#define a4 $8 /* arg reg 64 bit; caller saved in 32 bit */ ++#define ta0 $8 ++#define a5 $9 ++#define ta1 $9 ++#define a6 $10 ++#define ta2 $10 ++#define a7 $11 ++#define ta3 $11 ++#define t0 $12 /* caller saved */ ++#define t1 $13 ++#define t2 $14 ++#define t3 $15 ++#define s0 $16 /* callee saved */ ++#define s1 $17 ++#define s2 $18 ++#define s3 $19 ++#define s4 $20 ++#define s5 $21 ++#define s6 $22 ++#define s7 $23 ++#define t8 $24 /* caller saved */ ++#define t9 $25 /* callee address for PIC/temp */ ++#define jp $25 /* PIC jump register */ ++#define k0 $26 /* kernel temporary */ ++#define k1 $27 ++#define gp $28 /* global pointer - caller saved for PIC */ ++#define sp $29 /* stack pointer */ ++#define fp $30 /* frame pointer */ ++#define s8 $30 /* callee saved */ ++#define ra $31 /* return address */ ++ ++#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */ ++ ++#endif /* _ASM_REGDEF_H */ |