diff options
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/kexec/files/kexec2-klibc.patch | 167 | ||||
-rw-r--r-- | recipes/kexec/kexec-tools-static_2.0.0.bb | 24 | ||||
-rw-r--r-- | recipes/kexec/kexec-tools2.inc | 12 | ||||
-rw-r--r-- | recipes/kexec/kexec-tools_2.0.0.bb | 7 |
4 files changed, 210 insertions, 0 deletions
diff --git a/recipes/kexec/files/kexec2-klibc.patch b/recipes/kexec/files/kexec2-klibc.patch new file mode 100644 index 0000000000..c52262bb5f --- /dev/null +++ b/recipes/kexec/files/kexec2-klibc.patch @@ -0,0 +1,167 @@ +Index: kexec-tools-2.0.0/kexec/arch/arm/kexec-elf-rel-arm.c +=================================================================== +--- kexec-tools-2.0.0.orig/kexec/arch/arm/kexec-elf-rel-arm.c 2009-04-24 14:15:46.934825202 +0100 ++++ kexec-tools-2.0.0/kexec/arch/arm/kexec-elf-rel-arm.c 2009-04-24 14:15:47.014827381 +0100 +@@ -1,5 +1,5 @@ + #include <stdio.h> +-#include <elf.h> ++#include "../../../include/elf.h" + #include "../../kexec.h" + #include "../../kexec-elf.h" + +Index: kexec-tools-2.0.0/kexec/arch/arm/kexec-zImage-arm.c +=================================================================== +--- kexec-tools-2.0.0.orig/kexec/arch/arm/kexec-zImage-arm.c 2009-04-24 14:15:46.982825391 +0100 ++++ kexec-tools-2.0.0/kexec/arch/arm/kexec-zImage-arm.c 2009-04-26 01:58:20.838624318 +0200 +@@ -2,6 +2,10 @@ + * - 08/21/2007 ATAG support added by Uli Luckas <u.luckas@road.de> + * + */ ++ ++/* work around for linux header files */ ++#define __deprecated ++ + #define _GNU_SOURCE + #include <stdio.h> + #include <string.h> +@@ -110,13 +114,13 @@ + } + + fread(buf, sizeof(buf[1]), BOOT_PARAMS_SIZE, fp); +- if (ferror(fp)) { ++/* if (ferror(fp)) { + fprintf(stderr, "Cannot read %s: %s\n", + fn, strerror(errno)); + fclose(fp); + return NULL; + } +- ++*/ + fclose(fp); + return (struct tag *) buf; + } +Index: kexec-tools-2.0.0/kexec/ifdown.c +=================================================================== +--- kexec-tools-2.0.0.orig/kexec/ifdown.c 2009-04-24 14:15:34.025828340 +0100 ++++ kexec-tools-2.0.0/kexec/ifdown.c 2009-04-24 14:15:47.014827381 +0100 +@@ -14,7 +14,7 @@ + #include <sys/ioctl.h> + #include <sys/socket.h> + #include <sys/time.h> +-#include <sys/errno.h> ++#include <errno.h> + + #include <net/if.h> + #include <netinet/in.h> +Index: kexec-tools-2.0.0/purgatory/Makefile +=================================================================== +--- kexec-tools-2.0.0.orig/purgatory/Makefile 2009-04-24 14:15:34.037827479 +0100 ++++ kexec-tools-2.0.0/purgatory/Makefile 2009-04-24 14:15:47.022825503 +0100 +@@ -47,6 +47,7 @@ + $(PURGATORY): CC=$(TARGET_CC) + $(PURGATORY): CFLAGS+=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ + -Os -fno-builtin -ffreestanding \ ++ -nostdinc \ + -fno-zero-initialized-in-bss + + $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ +Index: kexec-tools-2.0.0/kexec/kexec-elf-rel.c +=================================================================== +--- kexec-tools-2.0.0.orig/kexec/kexec-elf-rel.c 2009-04-24 14:15:34.025828340 +0100 ++++ kexec-tools-2.0.0/kexec/kexec-elf-rel.c 2009-04-24 14:15:47.030825302 +0100 +@@ -4,7 +4,7 @@ + #include <stdio.h> + #include <errno.h> + #include <stdlib.h> +-#include "elf.h" ++#include "../include/elf.h" + #include <boot/elf_boot.h> + #include "kexec.h" + #include "kexec-elf.h" +Index: kexec-tools-2.0.0/kexec/kexec-syscall.h +=================================================================== +--- kexec-tools-2.0.0.orig/kexec/kexec-syscall.h 2009-04-24 14:15:46.950825917 +0100 ++++ kexec-tools-2.0.0/kexec/kexec-syscall.h 2009-04-24 14:15:47.030825302 +0100 +@@ -2,7 +2,7 @@ + #define KEXEC_SYSCALL_H + + #define __LIBRARY__ +-#include <syscall.h> ++/*#include <syscall.h>*/ + #include <sys/syscall.h> + #include <unistd.h> + +@@ -21,7 +21,7 @@ + #define LINUX_REBOOT_CMD_KEXEC_OLD 0x81726354 + #define LINUX_REBOOT_CMD_KEXEC_OLD2 0x18263645 + #define LINUX_REBOOT_CMD_KEXEC 0x45584543 +- ++/* + #ifdef __i386__ + #define __NR_kexec_load 283 + #endif +@@ -55,18 +55,19 @@ + #ifndef __NR_kexec_load + #error Unknown processor architecture. Needs a kexec_load syscall number. + #endif +- ++*/ + struct kexec_segment; +- ++/* + static inline long kexec_load(void *entry, unsigned long nr_segments, + struct kexec_segment *segments, unsigned long flags) + { + return (long) syscall(__NR_kexec_load, entry, nr_segments, segments, flags); + } +- ++*/ + static inline long kexec_reboot(void) + { +- return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0); ++ //return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0); ++ return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0); + } + + +Index: kexec-tools-2.0.0/kexec/kexec.c +=================================================================== +--- kexec-tools-2.0.0.orig/kexec/kexec.c 2009-04-24 14:15:46.950825917 +0100 ++++ kexec-tools-2.0.0/kexec/kexec.c 2009-04-26 01:58:53.545624148 +0200 +@@ -38,9 +38,7 @@ + + #include "config.h" + +-#ifdef HAVE_LIBZ +-#include <zlib.h> +-#endif ++#include "zlib.h" + #include <sha256.h> + #include "kexec.h" + #include "kexec-syscall.h" +Index: kexec-tools-2.0.0/kexec/crashdump.c +=================================================================== +--- kexec-tools-2.0.0.orig/kexec/crashdump.old 2009-05-15 17:47:56.000000000 +0200 ++++ kexec-tools-2.0.0/kexec/crashdump.c 2009-05-15 13:28:19.000000000 +0200 +@@ -26,7 +26,7 @@ + #include <sys/types.h> + #include <sys/stat.h> + #include <unistd.h> +-#include <elf.h> ++#include "../../../include/elf.h" + #include "kexec.h" + #include "crashdump.h" + +Index: kexec-tools-2.0.0/kexec/crashdump-xen.c +=================================================================== +--- kexec-tools-2.0.0.orig/kexec/crashdump-xen.c.old 2009-05-15 13:28:19.000000000 +0200 ++++ kexec-tools-2.0.0/kexec/crashdump-xen.c 2009-05-15 17:49:04.000000000 +0200 +@@ -3,7 +3,7 @@ + #include <stdarg.h> + #include <string.h> + #include <stdlib.h> +-#include <elf.h> ++#include "../../../include/elf.h" + #include <errno.h> + #include <limits.h> + #include <sys/types.h> diff --git a/recipes/kexec/kexec-tools-static_2.0.0.bb b/recipes/kexec/kexec-tools-static_2.0.0.bb new file mode 100644 index 0000000000..a0d02aa9ac --- /dev/null +++ b/recipes/kexec/kexec-tools-static_2.0.0.bb @@ -0,0 +1,24 @@ +# the binaries are statical linked against klibc +require kexec-tools2.inc + +DEFAULT_PREFERENCE = "-1" + +PR = "r0" +DEPENDS = "klibc" + +SRC_URI += "file://kexec2-klibc.patch;patch=1" +S = "${WORKDIR}/kexec-tools-${PV}" + +EXTRA_OECONF = " --without-zlib" + +export CC=${TARGET_PREFIX}klcc + +# standart oe cflags don't work with klcc +export CFLAGS="" +export CPPFLAGS="" +export LDFLAGS="" + +PACKAGES =+ "kexec-static kdump-static" + +FILES_kexec-static = "${sbindir}/kexec" +FILES_kdump-static = "${sbindir}/kdump" diff --git a/recipes/kexec/kexec-tools2.inc b/recipes/kexec/kexec-tools2.inc new file mode 100644 index 0000000000..261bfb9b3f --- /dev/null +++ b/recipes/kexec/kexec-tools2.inc @@ -0,0 +1,12 @@ +DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel" +AUTHOR = "Eric Biederman" +HOMEPAGE = "http://www.xmission.com/~ebiederm/files/kexec/" +SECTION = "kernel/userland" +LICENSE = "GPL" +DEPENDS = "virtual/kernel zlib" + +inherit autotools + + +SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/kexec-tools-${PV}.tar.gz \ + " diff --git a/recipes/kexec/kexec-tools_2.0.0.bb b/recipes/kexec/kexec-tools_2.0.0.bb new file mode 100644 index 0000000000..7692081d24 --- /dev/null +++ b/recipes/kexec/kexec-tools_2.0.0.bb @@ -0,0 +1,7 @@ +require kexec-tools2.inc +export LDFLAGS = "-L${STAGING_LIBDIR}" +EXTRA_OECONF = " --with-zlib=yes" + +PR = "r0" + +DEFAULT_PREFERENCE = "-1" |