mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	tools/mkimage: update to 2020.04
also change the download source to https and add a mirror drop merged patches Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com> [Add extra changes to compile on FreeBSD, merge two patches] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
		
							parent
							
								
									066ec97167
								
							
						
					
					
						commit
						042917f1c4
					
				@ -7,11 +7,14 @@
 | 
			
		||||
include $(TOPDIR)/rules.mk
 | 
			
		||||
 | 
			
		||||
PKG_NAME:=mkimage
 | 
			
		||||
PKG_VERSION:=2019.07
 | 
			
		||||
PKG_VERSION:=2020.04
 | 
			
		||||
 | 
			
		||||
PKG_SOURCE:=u-boot-$(PKG_VERSION).tar.bz2
 | 
			
		||||
PKG_SOURCE_URL:=http://ftp.denx.de/pub/u-boot
 | 
			
		||||
PKG_HASH:=bff4fa77e8da17521c030ca4c5b947a056c1b1be4d3e6ee8637020b8d50251d0
 | 
			
		||||
PKG_SOURCE_URL:= \
 | 
			
		||||
	https://mirror.cyberbits.eu/u-boot \
 | 
			
		||||
	https://ftp.denx.de/pub/u-boot \
 | 
			
		||||
	ftp://ftp.denx.de/pub/u-boot
 | 
			
		||||
PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372
 | 
			
		||||
 | 
			
		||||
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/u-boot-$(PKG_VERSION)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -50,7 +50,7 @@ This patch makes it possible to set a custom image magic.
 | 
			
		||||
 			break;
 | 
			
		||||
--- a/tools/default_image.c
 | 
			
		||||
+++ b/tools/default_image.c
 | 
			
		||||
@@ -116,7 +116,7 @@ static void image_set_header(void *ptr,
 | 
			
		||||
@@ -120,7 +120,7 @@ static void image_set_header(void *ptr,
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 	/* Build new header */
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,95 @@
 | 
			
		||||
From 590b23a46b7ae0f5ec5e8f57a85c0e7578c71141 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Hauke Mehrtens <hauke@hauke-m.de>
 | 
			
		||||
Date: Sun, 26 Apr 2020 17:15:17 +0200
 | 
			
		||||
Subject: [PATCH 1/2] Add compatibility with non Linux hosts
 | 
			
		||||
 | 
			
		||||
This adds some changes to the u-boot tools to make it possible to build
 | 
			
		||||
them on non Linux hosts like MacOS or FreeBSD.
 | 
			
		||||
 | 
			
		||||
asm/byteorder.h, asm/posix_types.h, asm/types.h and linux/kernel.h are
 | 
			
		||||
not available on such systems. Remove the include and add the necessary
 | 
			
		||||
parts for these header files manually or remove the usage too.
 | 
			
		||||
 | 
			
		||||
__u64 is not available on FreeBSD, remove its usage.
 | 
			
		||||
 | 
			
		||||
<malloc.h> has been replaced by <stdlib.h>
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 | 
			
		||||
---
 | 
			
		||||
 include/image.h             | 2 ++
 | 
			
		||||
 include/imx8image.h         | 5 +++++
 | 
			
		||||
 include/linux/posix_types.h | 2 ++
 | 
			
		||||
 include/linux/types.h       | 4 +++-
 | 
			
		||||
 lib/rsa/rsa-sign.c          | 2 +-
 | 
			
		||||
 5 files changed, 13 insertions(+), 2 deletions(-)
 | 
			
		||||
 | 
			
		||||
--- a/include/image.h
 | 
			
		||||
+++ b/include/image.h
 | 
			
		||||
@@ -16,7 +16,9 @@
 | 
			
		||||
 #define __IMAGE_H__
 | 
			
		||||
 
 | 
			
		||||
 #include "compiler.h"
 | 
			
		||||
+#ifdef linux
 | 
			
		||||
 #include <asm/byteorder.h>
 | 
			
		||||
+#endif
 | 
			
		||||
 #include <stdbool.h>
 | 
			
		||||
 
 | 
			
		||||
 /* Define this to avoid #ifdefs later on */
 | 
			
		||||
--- a/include/imx8image.h
 | 
			
		||||
+++ b/include/imx8image.h
 | 
			
		||||
@@ -11,7 +11,12 @@
 | 
			
		||||
 #include <image.h>
 | 
			
		||||
 #include <inttypes.h>
 | 
			
		||||
 #include "imagetool.h"
 | 
			
		||||
+#ifdef linux
 | 
			
		||||
 #include "linux/kernel.h"
 | 
			
		||||
+#else
 | 
			
		||||
+#define ALIGN(x,a)		__ALIGN_MASK((x),(typeof(x))(a)-1)
 | 
			
		||||
+#define __ALIGN_MASK(x,mask)	(((x)+(mask))&~(mask))
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
 #define __packed   __attribute__((packed))
 | 
			
		||||
 
 | 
			
		||||
--- a/include/linux/posix_types.h
 | 
			
		||||
+++ b/include/linux/posix_types.h
 | 
			
		||||
@@ -43,6 +43,8 @@ typedef void (*__kernel_sighandler_t)(in
 | 
			
		||||
 /* 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
 | 
			
		||||
@@ -2,7 +2,9 @@
 | 
			
		||||
 #define _LINUX_TYPES_H
 | 
			
		||||
 
 | 
			
		||||
 #include <linux/posix_types.h>
 | 
			
		||||
+#ifdef linux
 | 
			
		||||
 #include <asm/types.h>
 | 
			
		||||
+#endif
 | 
			
		||||
 #include <stdbool.h>
 | 
			
		||||
 
 | 
			
		||||
 #ifndef __KERNEL_STRICT_NAMES
 | 
			
		||||
@@ -142,7 +144,7 @@ typedef __u16 __bitwise __le16;
 | 
			
		||||
 typedef __u16 __bitwise __be16;
 | 
			
		||||
 typedef __u32 __bitwise __le32;
 | 
			
		||||
 typedef __u32 __bitwise __be32;
 | 
			
		||||
-#if defined(__GNUC__)
 | 
			
		||||
+#if defined(__GNUC__) && defined(linux)
 | 
			
		||||
 typedef __u64 __bitwise __le64;
 | 
			
		||||
 typedef __u64 __bitwise __be64;
 | 
			
		||||
 #endif
 | 
			
		||||
--- a/lib/rsa/rsa-sign.c
 | 
			
		||||
+++ b/lib/rsa/rsa-sign.c
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
  */
 | 
			
		||||
 
 | 
			
		||||
 #include "mkimage.h"
 | 
			
		||||
-#include <malloc.h>
 | 
			
		||||
+#include <stdlib.h>
 | 
			
		||||
 #include <stdio.h>
 | 
			
		||||
 #include <string.h>
 | 
			
		||||
 #include <image.h>
 | 
			
		||||
@ -1,207 +0,0 @@
 | 
			
		||||
Some of the Linux header files are not available on non Linux host
 | 
			
		||||
systems like FreeBSD or MacOSX.
 | 
			
		||||
 | 
			
		||||
The __le32 and __be32 types are only defined in Linux in
 | 
			
		||||
asm/byteorder.h, but not on all other BSD systems.
 | 
			
		||||
Use uint32_t instead of __le32 and __be32.
 | 
			
		||||
 | 
			
		||||
__swab32 is also a Linux only function, it looks like be32_to_cpu()
 | 
			
		||||
would be better here anyway.
 | 
			
		||||
 | 
			
		||||
--- a/include/image.h
 | 
			
		||||
+++ b/include/image.h
 | 
			
		||||
@@ -16,7 +16,6 @@
 | 
			
		||||
 #define __IMAGE_H__
 | 
			
		||||
 
 | 
			
		||||
 #include "compiler.h"
 | 
			
		||||
-#include <asm/byteorder.h>
 | 
			
		||||
 #include <stdbool.h>
 | 
			
		||||
 
 | 
			
		||||
 /* Define this to avoid #ifdefs later on */
 | 
			
		||||
@@ -317,13 +316,13 @@ enum {
 | 
			
		||||
  * 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			*/
 | 
			
		||||
--- a/tools/mtk_image.h
 | 
			
		||||
+++ b/tools/mtk_image.h
 | 
			
		||||
@@ -15,8 +15,8 @@
 | 
			
		||||
 union gen_boot_header {
 | 
			
		||||
 	struct {
 | 
			
		||||
 		char name[12];
 | 
			
		||||
-		__le32 version;
 | 
			
		||||
-		__le32 size;
 | 
			
		||||
+		uint32_t version;
 | 
			
		||||
+		uint32_t size;
 | 
			
		||||
 	};
 | 
			
		||||
 
 | 
			
		||||
 	uint8_t pad[0x200];
 | 
			
		||||
@@ -32,14 +32,14 @@ union nand_boot_header {
 | 
			
		||||
 		char name[12];
 | 
			
		||||
 		char version[4];
 | 
			
		||||
 		char id[8];
 | 
			
		||||
-		__le16 ioif;
 | 
			
		||||
-		__le16 pagesize;
 | 
			
		||||
-		__le16 addrcycles;
 | 
			
		||||
-		__le16 oobsize;
 | 
			
		||||
-		__le16 pages_of_block;
 | 
			
		||||
-		__le16 numblocks;
 | 
			
		||||
-		__le16 writesize_shift;
 | 
			
		||||
-		__le16 erasesize_shift;
 | 
			
		||||
+		uint16_t ioif;
 | 
			
		||||
+		uint16_t pagesize;
 | 
			
		||||
+		uint16_t addrcycles;
 | 
			
		||||
+		uint16_t oobsize;
 | 
			
		||||
+		uint16_t pages_of_block;
 | 
			
		||||
+		uint16_t numblocks;
 | 
			
		||||
+		uint16_t writesize_shift;
 | 
			
		||||
+		uint16_t erasesize_shift;
 | 
			
		||||
 		uint8_t dummy[60];
 | 
			
		||||
 		uint8_t ecc_parity[28];
 | 
			
		||||
 	};
 | 
			
		||||
@@ -54,14 +54,14 @@ union nand_boot_header {
 | 
			
		||||
 /* BootROM layout header */
 | 
			
		||||
 struct brom_layout_header {
 | 
			
		||||
 	char name[8];
 | 
			
		||||
-	__le32 version;
 | 
			
		||||
-	__le32 header_size;
 | 
			
		||||
-	__le32 total_size;
 | 
			
		||||
-	__le32 magic;
 | 
			
		||||
-	__le32 type;
 | 
			
		||||
-	__le32 header_size_2;
 | 
			
		||||
-	__le32 total_size_2;
 | 
			
		||||
-	__le32 unused;
 | 
			
		||||
+	uint32_t version;
 | 
			
		||||
+	uint32_t header_size;
 | 
			
		||||
+	uint32_t total_size;
 | 
			
		||||
+	uint32_t magic;
 | 
			
		||||
+	uint32_t type;
 | 
			
		||||
+	uint32_t header_size_2;
 | 
			
		||||
+	uint32_t total_size_2;
 | 
			
		||||
+	uint32_t unused;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 #define BRLYT_NAME		"BRLYT"
 | 
			
		||||
@@ -90,8 +90,8 @@ struct gen_device_header {
 | 
			
		||||
 struct gfh_common_header {
 | 
			
		||||
 	uint8_t magic[3];
 | 
			
		||||
 	uint8_t version;
 | 
			
		||||
-	__le16 size;
 | 
			
		||||
-	__le16 type;
 | 
			
		||||
+	uint16_t size;
 | 
			
		||||
+	uint16_t type;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 #define GFH_HEADER_MAGIC	"MMM"
 | 
			
		||||
@@ -106,17 +106,17 @@ struct gfh_common_header {
 | 
			
		||||
 struct gfh_file_info {
 | 
			
		||||
 	struct gfh_common_header gfh;
 | 
			
		||||
 	char name[12];
 | 
			
		||||
-	__le32 unused;
 | 
			
		||||
-	__le16 file_type;
 | 
			
		||||
+	uint32_t unused;
 | 
			
		||||
+	uint16_t file_type;
 | 
			
		||||
 	uint8_t flash_type;
 | 
			
		||||
 	uint8_t sig_type;
 | 
			
		||||
-	__le32 load_addr;
 | 
			
		||||
-	__le32 total_size;
 | 
			
		||||
-	__le32 max_size;
 | 
			
		||||
-	__le32 hdr_size;
 | 
			
		||||
-	__le32 sig_size;
 | 
			
		||||
-	__le32 jump_offset;
 | 
			
		||||
-	__le32 processed;
 | 
			
		||||
+	uint32_t load_addr;
 | 
			
		||||
+	uint32_t total_size;
 | 
			
		||||
+	uint32_t max_size;
 | 
			
		||||
+	uint32_t hdr_size;
 | 
			
		||||
+	uint32_t sig_size;
 | 
			
		||||
+	uint32_t jump_offset;
 | 
			
		||||
+	uint32_t processed;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 #define GFH_FILE_INFO_NAME	"FILE_INFO"
 | 
			
		||||
@@ -129,16 +129,16 @@ struct gfh_file_info {
 | 
			
		||||
 
 | 
			
		||||
 struct gfh_bl_info {
 | 
			
		||||
 	struct gfh_common_header gfh;
 | 
			
		||||
-	__le32 attr;
 | 
			
		||||
+	uint32_t attr;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 struct gfh_brom_cfg {
 | 
			
		||||
 	struct gfh_common_header gfh;
 | 
			
		||||
-	__le32 cfg_bits;
 | 
			
		||||
-	__le32 usbdl_by_auto_detect_timeout_ms;
 | 
			
		||||
+	uint32_t cfg_bits;
 | 
			
		||||
+	uint32_t usbdl_by_auto_detect_timeout_ms;
 | 
			
		||||
 	uint8_t unused[0x48];
 | 
			
		||||
-	__le32 usbdl_by_kcol0_timeout_ms;
 | 
			
		||||
-	__le32 usbdl_by_flag_timeout_ms;
 | 
			
		||||
+	uint32_t usbdl_by_kcol0_timeout_ms;
 | 
			
		||||
+	uint32_t usbdl_by_flag_timeout_ms;
 | 
			
		||||
 	uint32_t pad;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
@@ -157,15 +157,15 @@ struct gfh_anti_clone {
 | 
			
		||||
 	uint8_t ac_b2k;
 | 
			
		||||
 	uint8_t ac_b2c;
 | 
			
		||||
 	uint16_t pad;
 | 
			
		||||
-	__le32 ac_offset;
 | 
			
		||||
-	__le32 ac_len;
 | 
			
		||||
+	uint32_t ac_offset;
 | 
			
		||||
+	uint32_t ac_len;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 struct gfh_brom_sec_cfg {
 | 
			
		||||
 	struct gfh_common_header gfh;
 | 
			
		||||
-	__le32 cfg_bits;
 | 
			
		||||
+	uint32_t cfg_bits;
 | 
			
		||||
 	char customer_name[0x20];
 | 
			
		||||
-	__le32 pad;
 | 
			
		||||
+	uint32_t pad;
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
 #define BROM_SEC_CFG_JTAG_EN	1
 | 
			
		||||
@@ -184,11 +184,11 @@ struct gfh_header {
 | 
			
		||||
 
 | 
			
		||||
 union lk_hdr {
 | 
			
		||||
 	struct {
 | 
			
		||||
-		__le32 magic;
 | 
			
		||||
-		__le32 size;
 | 
			
		||||
+		uint32_t magic;
 | 
			
		||||
+		uint32_t size;
 | 
			
		||||
 		char name[32];
 | 
			
		||||
-		__le32 loadaddr;
 | 
			
		||||
-		__le32 mode;
 | 
			
		||||
+		uint32_t loadaddr;
 | 
			
		||||
+		uint32_t mode;
 | 
			
		||||
 	};
 | 
			
		||||
 
 | 
			
		||||
 	uint8_t data[512];
 | 
			
		||||
--- a/tools/zynqmpbif.c
 | 
			
		||||
+++ b/tools/zynqmpbif.c
 | 
			
		||||
@@ -517,7 +517,7 @@ static int bif_add_bit(struct bif_entry
 | 
			
		||||
 	debug("Bitstream Length: 0x%x\n", bitlen);
 | 
			
		||||
 	for (i = 0; i < bitlen; i += sizeof(uint32_t)) {
 | 
			
		||||
 		uint32_t *bitbin32 = (uint32_t *)&bitbin[i];
 | 
			
		||||
-		*bitbin32 = __swab32(*bitbin32);
 | 
			
		||||
+		*bitbin32 = be32_to_cpu(*bitbin32);
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 	if (!bf->dest_dev)
 | 
			
		||||
@ -1,29 +0,0 @@
 | 
			
		||||
The Kernel includes are only available on Linux hosts, remove then on
 | 
			
		||||
non Linux hosts. 
 | 
			
		||||
 | 
			
		||||
--- a/include/linux/posix_types.h
 | 
			
		||||
+++ b/include/linux/posix_types.h
 | 
			
		||||
@@ -43,6 +43,8 @@ typedef void (*__kernel_sighandler_t)(in
 | 
			
		||||
 /* 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/imx8image.h
 | 
			
		||||
+++ b/include/imx8image.h
 | 
			
		||||
@@ -11,7 +11,12 @@
 | 
			
		||||
 #include <image.h>
 | 
			
		||||
 #include <inttypes.h>
 | 
			
		||||
 #include "imagetool.h"
 | 
			
		||||
+#ifdef linux
 | 
			
		||||
 #include "linux/kernel.h"
 | 
			
		||||
+#else
 | 
			
		||||
+#define ALIGN(x,a)		__ALIGN_MASK((x),(typeof(x))(a)-1)
 | 
			
		||||
+#define __ALIGN_MASK(x,mask)	(((x)+(mask))&~(mask))
 | 
			
		||||
+#endif
 | 
			
		||||
 
 | 
			
		||||
 #define __packed   __attribute__((packed))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								tools/mkimage/patches/070-remove_generated_autoconf.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tools/mkimage/patches/070-remove_generated_autoconf.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
--- a/tools/imximage.c
 | 
			
		||||
+++ b/tools/imximage.c
 | 
			
		||||
@@ -11,7 +11,6 @@
 | 
			
		||||
 #include "imagetool.h"
 | 
			
		||||
 #include <image.h>
 | 
			
		||||
 #include "imximage.h"
 | 
			
		||||
-#include <generated/autoconf.h>
 | 
			
		||||
 
 | 
			
		||||
 #define UNDEFINED 0xFFFFFFFF
 | 
			
		||||
 
 | 
			
		||||
@ -3,7 +3,7 @@ needed dependencies are added too.
 | 
			
		||||
 | 
			
		||||
--- a/tools/Makefile
 | 
			
		||||
+++ b/tools/Makefile
 | 
			
		||||
@@ -151,7 +151,7 @@ ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CON
 | 
			
		||||
@@ -162,7 +162,7 @@ ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CON
 | 
			
		||||
 HOSTCFLAGS_kwbimage.o += \
 | 
			
		||||
 	$(shell pkg-config --cflags libssl libcrypto 2> /dev/null || echo "")
 | 
			
		||||
 HOSTLOADLIBES_mkimage += \
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user