1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-01 16:52:14 +02:00

mkimage: Add variable lenght header support

Some images have not a header of fix lenght. The patch will be
used for the generation of AIS images, because this header has
a variable lenght. The patch adds also the parameter "-s" (skip)
to not copy automatically the passed image file.

Signed-off-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
Stefano Babic
2011-09-15 23:50:16 +00:00
committed by Wolfgang Denk
parent 163967905f
commit f0662105b6
2 changed files with 22 additions and 5 deletions

View File

@@ -248,6 +248,9 @@ main (int argc, char **argv)
usage ();
params.imagename = *++argv;
goto NXTARG;
case 's':
params.skipcpy = 1;
break;
case 'v':
params.vflag++;
break;
@@ -361,11 +364,15 @@ NXTARG: ;
}
/*
* Must be -w then:
*
* write dummy header, to be fixed later
* In case there an header with a variable
* length will be added, the corresponding
* function is called. This is responsible to
* allocate memory for the header itself.
*/
memset (tparams->hdr, 0, tparams->header_size);
if (tparams->vrec_header)
tparams->vrec_header(&params, tparams);
else
memset(tparams->hdr, 0, tparams->header_size);
if (write(ifd, tparams->hdr, tparams->header_size)
!= tparams->header_size) {
@@ -374,7 +381,9 @@ NXTARG: ;
exit (EXIT_FAILURE);
}
if (params.type == IH_TYPE_MULTI || params.type == IH_TYPE_SCRIPT) {
if (!params.skipcpy &&
(params.type == IH_TYPE_MULTI ||
params.type == IH_TYPE_SCRIPT)) {
char *file = params.datafile;
uint32_t size;