[LEDE-DEV] [PATCH 2/7] firmware-tools/ptgen: do not truncate the output file

Michael Heimpold mhei at heimpold.de
Mon Jan 1 08:33:22 PST 2018


Hi John,

Am Montag, 1. Januar 2018, 12:12:35 CET schrieb John Crispin:
> 
> On 21/12/17 23:59, Michael Heimpold wrote:
> > At the moment, the image file operated on is always truncated
> > to 512 bytes. This limits the usage of ptgen somewhat.
> 
> O_TRUNC truncates to 0 and not 512 ?!

when the file is opened, it is truncated to 0, but following writes extend
it to 512 byte: last write is the 0x55aa signature which is placed at offset 510 bytes.

Do you think the patch description should be better?

Regards,
mhei

> 
>      John
> 
> >
> > This change allows to use ptgen on existing, larger image files.
> > In this case, only the partition table is written/updated while
> > the rest of the image file is left alone.
> >
> > Signed-off-by: Michael Heimpold <mhei at heimpold.de>
> > ---
> >   tools/firmware-utils/src/ptgen.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/firmware-utils/src/ptgen.c b/tools/firmware-utils/src/ptgen.c
> > index 93d66eb..ff97cd5 100644
> > --- a/tools/firmware-utils/src/ptgen.c
> > +++ b/tools/firmware-utils/src/ptgen.c
> > @@ -166,7 +166,7 @@ static int gen_ptable(uint32_t signature, int nr)
> >   		printf("%ld\n", (long)len * 512);
> >   	}
> >   
> > -	if ((fd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, 0644)) < 0) {
> > +	if ((fd = open(filename, O_WRONLY|O_CREAT, 0644)) < 0) {
> >   		fprintf(stderr, "Can't open output file '%s'\n",filename);
> >   		return -1;
> >   	}
> 
> 





More information about the Lede-dev mailing list