summaryrefslogtreecommitdiffstats
path: root/tools/mkimage
diff options
context:
space:
mode:
Diffstat (limited to 'tools/mkimage')
-rw-r--r--tools/mkimage/Makefile17
-rw-r--r--tools/mkimage/patches/010-freebsd-ulong-fix.patch4
-rw-r--r--tools/mkimage/patches/020-openbsd_fixes.patch18
-rw-r--r--tools/mkimage/patches/030-allow-to-use-different-magic.patch6
-rw-r--r--tools/mkimage/patches/050-image_h_portability.patch31
-rw-r--r--tools/mkimage/patches/060-remove_kernel_includes.patch35
-rw-r--r--tools/mkimage/patches/100-dtc-binary.patch86
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;