[PATCH] base-files: fix nand_upgrade_ubinized()

Lanchon lanchon at gmail.com
Mon Apr 10 16:33:11 PDT 2023



On 4/10/23 15:38, Daniel Golle wrote:
> On Mon, Apr 10, 2023 at 07:01:35PM +0200, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal at milecki.pl>
>>
>> When using "ubiformat" with stdin it requires passing image size using
>> the -S argument. Provide it just like we do for "ubiupdatevol".
>>
>> This fixes:
>> ubiformat: error!: must use '-S' with non-zero value when reading from stdin
>>
>> This change fixes sysupgrade for bcm53xx and bcm4908 NAND devices
>> possibly some other targets too.
>>
>> Cc: Rodrigo Balerdi <lanchon at gmail.com>
>> Cc: Daniel Golle <daniel at makrotopia.org>
>> Fixes: 971071212052 ("base-files: accept gzipped nand sysupgrade images")
>> Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
> Acked-by: Daniel Golle <daniel at makrotopia.org>
>
> Please apply asap.

(Dan, do you want me to PR?)

hi Rafa, thanks!

i wonder how it is possible that the code as is worked for me; i tested 
many times with compressed ubinized image.


>
>> ---
>>   package/base-files/files/lib/upgrade/nand.sh | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/package/base-files/files/lib/upgrade/nand.sh b/package/base-files/files/lib/upgrade/nand.sh
>> index 907945b349..fa29d575a8 100644
>> --- a/package/base-files/files/lib/upgrade/nand.sh
>> +++ b/package/base-files/files/lib/upgrade/nand.sh
>> @@ -261,10 +261,12 @@ nand_upgrade_ubinized() {
>>   	local ubi_file="$1"
>>   	local gz="$2"
>>   
>> +	local ubi_length=$( (${gz}cat "$ubi_file" | wc -c) 2> /dev/null)
>> +
>>   	nand_detach_ubi "$CI_UBIPART" || return 1
>>   
>>   	local mtdnum="$( find_mtd_index "$CI_UBIPART" )"
>> -	${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -y -f - && ubiattach -m "$mtdnum"
>> +	${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -S "$ubi_length" -y -f - && ubiattach -m "$mtdnum"
>>   }
>>   
>>   # Write the UBIFS image to UBI rootfs volume
>> -- 
>> 2.34.1
>>



More information about the openwrt-devel mailing list