diff options
Diffstat (limited to 'tools/mkimage')
-rw-r--r-- | tools/mkimage/Makefile | 17 | ||||
-rw-r--r-- | tools/mkimage/patches/010-freebsd-ulong-fix.patch | 4 | ||||
-rw-r--r-- | tools/mkimage/patches/020-openbsd_fixes.patch | 18 | ||||
-rw-r--r-- | tools/mkimage/patches/030-allow-to-use-different-magic.patch | 6 | ||||
-rw-r--r-- | tools/mkimage/patches/050-image_h_portability.patch | 31 | ||||
-rw-r--r-- | tools/mkimage/patches/060-remove_kernel_includes.patch | 35 | ||||
-rw-r--r-- | tools/mkimage/patches/100-dtc-binary.patch | 86 |
7 files changed, 187 insertions, 10 deletions
diff --git a/tools/mkimage/Makefile b/tools/mkimage/Makefile index 373d9bebb..458cca8fe 100644 --- a/tools/mkimage/Makefile +++ b/tools/mkimage/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2012 OpenWrt.org +# Copyright (C) 2006-2013 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -7,20 +7,27 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mkimage -PKG_VERSION:=2012.04.01 +PKG_VERSION:=2013.04 PKG_SOURCE:=u-boot-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot -PKG_MD5SUM:=192bb231082d9159fb6e16de3039b6b2 +PKG_MD5SUM:=21bf962d69938ed4ed783b792b2b074e PKG_CAT:=bzcat HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/u-boot-$(PKG_VERSION) include $(INCLUDE_DIR)/host-build.mk -define Host/Compile - rm -f $(HOST_BUILD_DIR)/tools/.depend +define Host/Prepare + $(Host/Prepare/Default) + rm -f \ + $(HOST_BUILD_DIR)/include/errno.h \ + $(HOST_BUILD_DIR)/include/malloc.h \ + $(HOST_BUILD_DIR)/tools/.depend touch $(HOST_BUILD_DIR)/include/config.h +endef + +define Host/Compile $(MAKE) -C $(HOST_BUILD_DIR) BUILD_DIR= BIN_FILES-y="mkimage" HOSTLDFLAGS="$(HOST_STATIC_LINKING)" tools endef diff --git a/tools/mkimage/patches/010-freebsd-ulong-fix.patch b/tools/mkimage/patches/010-freebsd-ulong-fix.patch index 32fa07453..715755b87 100644 --- a/tools/mkimage/patches/010-freebsd-ulong-fix.patch +++ b/tools/mkimage/patches/010-freebsd-ulong-fix.patch @@ -1,6 +1,6 @@ --- a/include/image.h +++ b/include/image.h -@@ -50,6 +50,10 @@ +@@ -51,6 +51,10 @@ #endif /* USE_HOSTCC */ @@ -9,5 +9,5 @@ +#endif + #if defined(CONFIG_FIT) - #include <fdt.h> #include <libfdt.h> + #include <fdt_support.h> diff --git a/tools/mkimage/patches/020-openbsd_fixes.patch b/tools/mkimage/patches/020-openbsd_fixes.patch new file mode 100644 index 000000000..4c376caad --- /dev/null +++ b/tools/mkimage/patches/020-openbsd_fixes.patch @@ -0,0 +1,18 @@ +--- a/tools/mkimage.c ++++ b/tools/mkimage.c +@@ -464,6 +464,7 @@ NXTARG: ; + #if defined(_POSIX_SYNCHRONIZED_IO) && \ + !defined(__sun__) && \ + !defined(__FreeBSD__) && \ ++ !defined(__OpenBSD__) && \ + !defined(__APPLE__) + (void) fdatasync (ifd); + #else +@@ -507,6 +508,7 @@ NXTARG: ; + #if defined(_POSIX_SYNCHRONIZED_IO) && \ + !defined(__sun__) && \ + !defined(__FreeBSD__) && \ ++ !defined(__OpenBSD__) && \ + !defined(__APPLE__) + (void) fdatasync (ifd); + #else diff --git a/tools/mkimage/patches/030-allow-to-use-different-magic.patch b/tools/mkimage/patches/030-allow-to-use-different-magic.patch index 23f39ad22..14397964b 100644 --- a/tools/mkimage/patches/030-allow-to-use-different-magic.patch +++ b/tools/mkimage/patches/030-allow-to-use-different-magic.patch @@ -7,8 +7,8 @@ + .magic = IH_MAGIC, .dtc = MKIMAGE_DEFAULT_DTC_OPTIONS, .imagename = "", - }; -@@ -186,6 +187,16 @@ main (int argc, char **argv) + .imagename2 = "", +@@ -189,6 +190,16 @@ main (int argc, char **argv) genimg_get_comp_id (*++argv)) < 0) usage (); goto NXTARG; @@ -25,7 +25,7 @@ case 'D': if (--argc <= 0) usage (); -@@ -596,12 +607,13 @@ usage () +@@ -613,12 +624,13 @@ usage () fprintf (stderr, "Usage: %s -l image\n" " -l ==> list image header information\n", params.cmdname); diff --git a/tools/mkimage/patches/050-image_h_portability.patch b/tools/mkimage/patches/050-image_h_portability.patch new file mode 100644 index 000000000..1f222370b --- /dev/null +++ b/tools/mkimage/patches/050-image_h_portability.patch @@ -0,0 +1,31 @@ +--- a/include/image.h ++++ b/include/image.h +@@ -34,7 +34,6 @@ + #define __IMAGE_H__ + + #include "compiler.h" +-#include <asm/byteorder.h> + + #ifdef USE_HOSTCC + +@@ -191,13 +190,13 @@ + * all data in network byte order (aka natural aka bigendian). + */ + typedef struct image_header { +- __be32 ih_magic; /* Image Header Magic Number */ +- __be32 ih_hcrc; /* Image Header CRC Checksum */ +- __be32 ih_time; /* Image Creation Timestamp */ +- __be32 ih_size; /* Image Data Size */ +- __be32 ih_load; /* Data Load Address */ +- __be32 ih_ep; /* Entry Point Address */ +- __be32 ih_dcrc; /* Image Data CRC Checksum */ ++ uint32_t ih_magic; /* Image Header Magic Number */ ++ uint32_t ih_hcrc; /* Image Header CRC Checksum */ ++ uint32_t ih_time; /* Image Creation Timestamp */ ++ uint32_t ih_size; /* Image Data Size */ ++ uint32_t ih_load; /* Data Load Address */ ++ uint32_t ih_ep; /* Entry Point Address */ ++ uint32_t ih_dcrc; /* Image Data CRC Checksum */ + uint8_t ih_os; /* Operating System */ + uint8_t ih_arch; /* CPU architecture */ + uint8_t ih_type; /* Image Type */ diff --git a/tools/mkimage/patches/060-remove_kernel_includes.patch b/tools/mkimage/patches/060-remove_kernel_includes.patch new file mode 100644 index 000000000..b408bb10f --- /dev/null +++ b/tools/mkimage/patches/060-remove_kernel_includes.patch @@ -0,0 +1,35 @@ +--- a/include/compiler.h ++++ b/include/compiler.h +@@ -53,6 +53,11 @@ + typedef uint16_t __u16; + typedef uint32_t __u32; + typedef unsigned int uint; ++typedef uint64_t __u64; ++#ifndef linux ++typedef int __kernel_daddr_t; ++typedef unsigned int __kernel_ino_t; ++#endif + + #define uswap_16(x) \ + ((((x) & 0xff00) >> 8) | \ +--- a/include/linux/posix_types.h ++++ b/include/linux/posix_types.h +@@ -43,6 +43,8 @@ + /* Type of a SYSV IPC key. */ + typedef int __kernel_key_t; + ++#ifdef linux + #include <asm/posix_types.h> ++#endif + + #endif /* _LINUX_POSIX_TYPES_H */ +--- a/include/linux/types.h ++++ b/include/linux/types.h +@@ -6,7 +6,6 @@ + #endif + + #include <linux/posix_types.h> +-#include <asm/types.h> + #include <stdbool.h> + + #ifndef __KERNEL_STRICT_NAMES diff --git a/tools/mkimage/patches/100-dtc-binary.patch b/tools/mkimage/patches/100-dtc-binary.patch new file mode 100644 index 000000000..50341198b --- /dev/null +++ b/tools/mkimage/patches/100-dtc-binary.patch @@ -0,0 +1,86 @@ +--- a/doc/mkimage.1 ++++ b/doc/mkimage.1 +@@ -82,6 +82,10 @@ + .B Create FIT image: + + .TP ++.BI "\-B [" "dtc bin" "]" ++Set path to the device tree compiler binary. ++ ++.TP + .BI "\-D [" "dtc options" "]" + Provide special options to the device tree compiler that is used to + create the image. +--- a/tools/fit_image.c ++++ b/tools/fit_image.c +@@ -82,7 +82,8 @@ + + /* dtc -I dts -O dtb -p 500 datafile > tmpfile */ + sprintf (cmd, "%s %s %s > %s", +- MKIMAGE_DTC, params->dtc, params->datafile, tmpfile); ++ params->dtc_bin, params->dtc_options, params->datafile, ++ tmpfile); + debug ("Trying to execute \"%s\"\n", cmd); + if (system (cmd) == -1) { + fprintf (stderr, "%s: system(%s) failed: %s\n", +--- a/tools/mkimage.c ++++ b/tools/mkimage.c +@@ -38,7 +38,8 @@ + .type = IH_TYPE_KERNEL, + .comp = IH_COMP_GZIP, + .magic = IH_MAGIC, +- .dtc = MKIMAGE_DEFAULT_DTC_OPTIONS, ++ .dtc_bin = MKIMAGE_DTC, ++ .dtc_options = MKIMAGE_DEFAULT_DTC_OPTIONS, + .imagename = "", + .imagename2 = "", + }; +@@ -200,10 +201,15 @@ + params.cmdname, *argv); + } + goto NXTARG; ++ case 'B': ++ if (--argc <= 0) ++ usage (); ++ params.dtc_bin = *++argv; ++ goto NXTARG; + case 'D': + if (--argc <= 0) + usage (); +- params.dtc = *++argv; ++ params.dtc_options = *++argv; + goto NXTARG; + + case 'O': +@@ -637,7 +643,9 @@ + " -d ==> use image data from 'datafile'\n" + " -x ==> set XIP (execute in place)\n", + params.cmdname); +- fprintf (stderr, " %s [-D dtc_options] -f fit-image.its fit-image\n", ++ fprintf (stderr, " %s [-B dtc_bin] [-D dtc_options] -f fit-image.its fit-image\n", ++ " -B ==> set path to the dtc binary\n", ++ " -D ==> set options that will be passed to dtc\n", + params.cmdname); + fprintf (stderr, " %s -V ==> print version information and exit\n", + params.cmdname); +--- a/tools/mkimage.h ++++ b/tools/mkimage.h +@@ -46,7 +46,7 @@ + #define MKIMAGE_MAX_TMPFILE_LEN 256 + #define MKIMAGE_DEFAULT_DTC_OPTIONS "-I dts -O dtb -p 500" + #define MKIMAGE_MAX_DTC_CMDLINE_LEN 512 +-#define MKIMAGE_DTC "dtc" /* assume dtc is in $PATH */ ++#define MKIMAGE_DTC "dtc" + + /* + * This structure defines all such variables those are initialized by +@@ -66,7 +66,8 @@ + int type; + int comp; + unsigned int magic; +- char *dtc; ++ char *dtc_bin; ++ char *dtc_options; + unsigned int addr; + unsigned int ep; + char *imagename; |