tools/mkimage: allow to use different magic in uImages
SVN-Revision: 29442
This commit is contained in:
		
							
								
								
									
										63
									
								
								tools/mkimage/patches/030-allow-to-use-different-magic.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								tools/mkimage/patches/030-allow-to-use-different-magic.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | |||||||
|  | --- a/tools/mkimage.c | ||||||
|  | +++ b/tools/mkimage.c | ||||||
|  | @@ -37,6 +37,7 @@ struct mkimage_params params = { | ||||||
|  |  	.arch = IH_ARCH_PPC, | ||||||
|  |  	.type = IH_TYPE_KERNEL, | ||||||
|  |  	.comp = IH_COMP_GZIP, | ||||||
|  | +	.magic = IH_MAGIC, | ||||||
|  |  	.dtc = MKIMAGE_DEFAULT_DTC_OPTIONS, | ||||||
|  |  	.imagename = "", | ||||||
|  |  }; | ||||||
|  | @@ -180,6 +181,16 @@ main (int argc, char **argv) | ||||||
|  |  					genimg_get_comp_id (*++argv)) < 0) | ||||||
|  |  					usage (); | ||||||
|  |  				goto NXTARG; | ||||||
|  | +			case 'M': | ||||||
|  | +				if (--argc <=0) | ||||||
|  | +					usage (); | ||||||
|  | +				params.magic = strtoul (*++argv, &ptr, 16); | ||||||
|  | +				if (*ptr) { | ||||||
|  | +					fprintf (stderr, | ||||||
|  | +						"%s: invalid magic %s\n", | ||||||
|  | +						params.cmdname, *argv); | ||||||
|  | +				} | ||||||
|  | +				goto NXTARG; | ||||||
|  |  			case 'D': | ||||||
|  |  				if (--argc <= 0) | ||||||
|  |  					usage (); | ||||||
|  | @@ -580,12 +591,13 @@ usage () | ||||||
|  |  	fprintf (stderr, "Usage: %s -l image\n" | ||||||
|  |  			 "          -l ==> list image header information\n", | ||||||
|  |  		params.cmdname); | ||||||
|  | -	fprintf (stderr, "       %s [-x] -A arch -O os -T type -C comp " | ||||||
|  | +	fprintf (stderr, "       %s [-x] -A arch -O os -T type -C comp -M magic " | ||||||
|  |  			 "-a addr -e ep -n name -d data_file[:data_file...] image\n" | ||||||
|  |  			 "          -A ==> set architecture to 'arch'\n" | ||||||
|  |  			 "          -O ==> set operating system to 'os'\n" | ||||||
|  |  			 "          -T ==> set image type to 'type'\n" | ||||||
|  |  			 "          -C ==> set compression type 'comp'\n" | ||||||
|  | +			 "          -M ==> set image magic to 'magic'\n" | ||||||
|  |  			 "          -a ==> set load address to 'addr' (hex)\n" | ||||||
|  |  			 "          -e ==> set entry point to 'ep' (hex)\n" | ||||||
|  |  			 "          -n ==> set image name to 'name'\n" | ||||||
|  | --- a/tools/mkimage.h | ||||||
|  | +++ b/tools/mkimage.h | ||||||
|  | @@ -64,6 +64,7 @@ struct mkimage_params { | ||||||
|  |  	int arch; | ||||||
|  |  	int type; | ||||||
|  |  	int comp; | ||||||
|  | +	unsigned int magic; | ||||||
|  |  	char *dtc; | ||||||
|  |  	unsigned int addr; | ||||||
|  |  	unsigned int ep; | ||||||
|  | --- a/tools/default_image.c | ||||||
|  | +++ b/tools/default_image.c | ||||||
|  | @@ -110,7 +110,7 @@ static void image_set_header (void *ptr, | ||||||
|  |  			sbuf->st_size - sizeof(image_header_t)); | ||||||
|  |   | ||||||
|  |  	/* Build new header */ | ||||||
|  | -	image_set_magic (hdr, IH_MAGIC); | ||||||
|  | +	image_set_magic (hdr, params->magic); | ||||||
|  |  	image_set_time (hdr, sbuf->st_mtime); | ||||||
|  |  	image_set_size (hdr, sbuf->st_size - sizeof(image_header_t)); | ||||||
|  |  	image_set_load (hdr, params->addr); | ||||||
		Reference in New Issue
	
	Block a user
	 Gabor Juhos
					Gabor Juhos