Use new kexec tools
Horms' new kexec-tools repository has a number of updates and fixes for kexec, and also supports the PS3. This change updates the kexec repo, and adds a few build-system patches to make it work with OpenWRT. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> SVN-Revision: 10803
This commit is contained in:
parent
077d84f543
commit
4ec5f133bb
5 changed files with 238 additions and 20 deletions
|
@ -9,46 +9,57 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=kexec-tools
|
||||
PKG_VERSION:=1.101
|
||||
PKG_VERSION:=testing-20080227
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://www.xmission.com/~ebiederm/files/kexec/
|
||||
PKG_MD5SUM:=b4f7ffcc294d41a6a4c40d6e44b7734d
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=http://kernel.org/pub/linux/kernel/people/horms/kexec-tools/
|
||||
PKG_MD5SUM:=45455af789545fdfaff2401d1988996a
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/kexec-tools
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
DEPENDS:=@i386 +zlib
|
||||
DEPENDS:=@i386||@powerpc +zlib
|
||||
TITLE:=Kernel boots kernel
|
||||
URL:=http://www.xmission.com/~ebiederm/files/kexec/README
|
||||
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
|
||||
kexec is a set of systems call that allows you to load
|
||||
another kernel from the currently executing Linux kernel.
|
||||
endef
|
||||
|
||||
MAKE_FLAGS += \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||
EXTRA_CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
|
||||
BUILD_CFLAGS="-Os" \
|
||||
LIBS="$(TARGET_LDFLAGS) -lz" \
|
||||
install
|
||||
define Package/kexec-tools/config
|
||||
source "$(SOURCE)/kexec-config.in"
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS = \
|
||||
--target=$(CONFIG_KEXEC_TOOLS_TARGET_NAME)-linux-uclibc \
|
||||
--host=$(GNU_TARGET_NAME)-uclibc \
|
||||
--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)
|
||||
|
||||
define Build/Compile
|
||||
rm -rf $(PKG_INSTALL_DIR)
|
||||
mkdir -p $(PKG_INSTALL_DIR)
|
||||
$(call Build/Compile/Default,)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) all
|
||||
endef
|
||||
|
||||
define Package/kexec-tools/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kexec $(1)/usr/bin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdump $(1)/usr/bin/
|
||||
$(INSTALL_BIN) ./files/kexec.sh $(1)/usr/bin/kexec.mtd
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
DESTDIR="$(1)" \
|
||||
install
|
||||
rm -rf $(1)/usr/man
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,kexec-tools))
|
||||
|
|
9
package/kexec-tools/kexec-config.in
Normal file
9
package/kexec-tools/kexec-config.in
Normal file
|
@ -0,0 +1,9 @@
|
|||
|
||||
config KEXEC_TOOLS_TARGET_NAME
|
||||
string
|
||||
prompt "Target name for kexec kernel" if PACKAGE_kexec-tools
|
||||
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.
|
|
@ -0,0 +1,39 @@
|
|||
From ee274ca1ae88bef43da3090d0e1e9155e3b493ad Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Kerr <jk@ozlabs.org>
|
||||
Date: Wed, 19 Mar 2008 17:06:24 +1100
|
||||
Subject: [PATCH] Use separate CPPFLAGS and LDFLAGS for purgatory
|
||||
|
||||
Currently, CPPFLAGS and LDFLAGS can 'leak' into the purgatory build
|
||||
from the main kexec/kexec object. Because of this, the purgatory
|
||||
is build with -lz, but we may not have a zlib present for the
|
||||
architecture of the purgatory object.
|
||||
|
||||
This change uses fresh CPPFLAGS and LDFLAGS for the purgatory object.
|
||||
|
||||
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
||||
---
|
||||
purgatory/Makefile | 5 +++--
|
||||
1 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/purgatory/Makefile b/purgatory/Makefile
|
||||
index 6c747b1..ac58719 100644
|
||||
--- a/purgatory/Makefile
|
||||
+++ b/purgatory/Makefile
|
||||
@@ -49,11 +49,12 @@ $(PURGATORY): CFLAGS+=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
|
||||
-Os -fno-builtin -ffreestanding \
|
||||
-fno-zero-initialized-in-bss
|
||||
|
||||
-$(PURGATORY): CPPFLAGS+=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
|
||||
+$(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
|
||||
-I$(srcdir)/purgatory/include \
|
||||
-I$(srcdir)/purgatory/arch/$(ARCH)/include \
|
||||
+ -I$(srcdir)/util_lib/include \
|
||||
-I$(shell $(CC) -print-file-name=include)
|
||||
-$(PURGATORY): LDFLAGS+=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
|
||||
+$(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
|
||||
--no-undefined -nostartfiles -nostdlib -nodefaultlibs \
|
||||
-e purgatory_start -r
|
||||
|
||||
--
|
||||
1.5.0.rc4.g85b1
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From 072159b1f4aca88f7d99259fe2bd14a6653ede52 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Kerr <jk@ozlabs.org>
|
||||
Date: Wed, 19 Mar 2008 17:20:39 +1100
|
||||
Subject: [PATCH] Use separate LDFLAGS for bin-to-hex
|
||||
|
||||
We don't need the general -L and -l flags for the bin-to-hex util.
|
||||
|
||||
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
||||
---
|
||||
util/Makefile | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/util/Makefile b/util/Makefile
|
||||
index 89732a1..11d82fd 100644
|
||||
--- a/util/Makefile
|
||||
+++ b/util/Makefile
|
||||
@@ -6,6 +6,7 @@ $(BIN_TO_HEX): $(srcdir)/util/bin-to-hex.c
|
||||
|
||||
$(BIN_TO_HEX): CC=$(BUILD_CC)
|
||||
$(BIN_TO_HEX): CFLAGS=$(BUILD_CFLAGS)
|
||||
+$(BIN_TO_HEX): LDFLAGS=
|
||||
|
||||
dist += util/Makefile util/bin-to-hex.c
|
||||
clean += util/bin-to-hex.o $(BIN_TO_HEX)
|
||||
--
|
||||
1.5.0.rc4.g85b1
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
From 0c5e14cdad161e510497df58eb206d3b8f8eba47 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Kerr <jk@ozlabs.org>
|
||||
Date: Wed, 19 Mar 2008 17:25:37 +1100
|
||||
Subject: [PATCH] Give installed files user-writable permission
|
||||
|
||||
Currently we install all files as 0555 or 0444. This means that we
|
||||
can't easily do any post-install modification to the files (eg.
|
||||
stripping, as is done with OpenWRT).
|
||||
|
||||
This change installs the files with the user write bit set
|
||||
|
||||
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
|
||||
---
|
||||
Makefile.in | 42 +++++++++++++++++++++---------------------
|
||||
1 files changed, 21 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 306d6e9..037f9a4 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -237,87 +237,87 @@ install: $(TARGETS)
|
||||
for file in $(TARGETS) ; do \
|
||||
if test `$(DIRNAME) $$file` = "$(SBINDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(sbindir)/; \
|
||||
- $(INSTALL) -m 555 $$file $(DESTDIR)/$(sbindir)/; \
|
||||
+ $(INSTALL) -m 755 $$file $(DESTDIR)/$(sbindir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(BINDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(bindir)/; \
|
||||
- $(INSTALL) -m 555 $$file $(DESTDIR)/$(bindir)/; \
|
||||
+ $(INSTALL) -m 755 $$file $(DESTDIR)/$(bindir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(LIBEXECDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(libexecdir)/; \
|
||||
- $(INSTALL) -m 555 $$file $(DESTDIR)/$(libexecdir)/; \
|
||||
+ $(INSTALL) -m 755 $$file $(DESTDIR)/$(libexecdir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(DATADIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(datadir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(datadir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(datadir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(SYSCONFDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(sysconfdir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(sysconfdir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(sysconfdir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(SHAREDSTATEDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(sharedstatedir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(sharedstatedir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(sharedstatedir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(LOCALSTATEDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(localstatedir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(localstatedir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(localstatedir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(LIBDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(libdir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(libdir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(libdir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(INFODIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(infodir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(infodir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(infodir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(MAN1DIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(mandir)/man1; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(mandir)/man1; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(mandir)/man1; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(MAN2DIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(mandir)/man2; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(mandir)/man2; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(mandir)/man2; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(MAN3DIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(mandir)/man3/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(mandir)/man3/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(mandir)/man3/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(MAN4DIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(mandir)/man4/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(mandir)/man4/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(mandir)/man4/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(MAN5DIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(mandir)/man5/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(mandir)/man5/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(mandir)/man5/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(MAN6DIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(mandir)/man6/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(mandir)/man6/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(mandir)/man6/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(MAN7DIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(mandir)/man7/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(mandir)/man7/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(mandir)/man7/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(MAN8DIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(mandir)/man8/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(mandir)/man8/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(mandir)/man8/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(INCLUDEDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(includedir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(includedir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(includedir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(PKGDATADIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(pkgdatadir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(pkgdatadir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(pkgdatadir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(PKGLIBDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(pkglibdir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(pkglibdir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(pkglibdir)/; \
|
||||
fi; \
|
||||
if test `$(DIRNAME) $$file` = "$(PKGINCLUDEDIR)" ; then \
|
||||
$(MKDIR) -p $(DESTDIR)/$(pkgincludedir)/; \
|
||||
- $(INSTALL) -m 444 $$file $(DESTDIR)/$(pkgincludedir)/; \
|
||||
+ $(INSTALL) -m 644 $$file $(DESTDIR)/$(pkgincludedir)/; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
--
|
||||
1.5.0.rc4.g85b1
|
||||
|
Loading…
Reference in a new issue