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

John Crispin john at phrozen.org
Mon Jan 1 21:44:20 PST 2018



On 01/01/18 17:33, Michael Heimpold wrote:
> 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?

Hi

I certainly failed to understand what the patch tries to achieve :-)

> 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