[PATCH] upgrade.html: Rename uploaded firmware before sysupgrade

mail at adrianschmutzler.de mail at adrianschmutzler.de
Sa Mai 25 19:49:26 CEST 2019


Nimm doch bitte die Variante mit

 

sysupgrade $args /tmp/uploadedfw.bin || rm /tmp/uploadedfw.bin

 

ganz am Ende.

 

Grüße

 

Adrian

 

From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of Fabian Bläse
Sent: Samstag, 25. Mai 2019 19:44
To: franken-dev at freifunk.net
Subject: Re: [PATCH] upgrade.html: Rename uploaded firmware before sysupgrade

 

Gibt es hierzu noch Meinungen? 
Ansonsten würde ich das auch mit einem Review aufnehmen. 

Gruß 
Fabian 

On 07.05.19 15:46, Adrian Schmutzler wrote: 
> At the moment sysupgrade via WebUI is broken on many devices. 
> This is reproducible: While the (few) status messages seem 
> normal, the device boots again with the old firmware. 
> Sysupgrade via SSH always works. 
> 
> The sysupgrade call in upgrade.html directly uses the path of 
> the uploaded firmware file as argument. From several tests and 
> based on caught stdout/stderr from this line, it looks like haserl 
> deletes the uploaded firmware file due to a hidden trigger before 
> or even while it is processed by sysupgrade. 
> 
> The easiest way to work around that is to just rename the file 
> before using it as argument to sysupgrade. This will preserve the 
> file in case of a failed sysupgrade, but it will be overwritten 
> with the next try. 
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de <mailto:freifunk at adrianschmutzler.de> > 
> --- 
>  src/packages/fff/fff-web/Makefile                           | 2 +- 
>  src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html | 5 +++-- 
>  2 files changed, 4 insertions(+), 3 deletions(-) 
> 
> diff --git a/src/packages/fff/fff-web/Makefile b/src/packages/fff/fff-web/Makefile 
> index 9bb10f71..819644a5 100644 
> --- a/src/packages/fff/fff-web/Makefile 
> +++ b/src/packages/fff/fff-web/Makefile 
> @@ -1,7 +1,7 @@ 
>  include $(TOPDIR)/rules.mk 
>  
>  PKG_NAME:=fff-web 
> -PKG_RELEASE:=7 
> +PKG_RELEASE:=8 
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) 
>  
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html

> index 96199c22..5fe1526c 100755 
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html 
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html 
> @@ -72,8 +72,9 @@ elif [ "$do_sysupgrade" = "1" ] ; then 
>       echo "<pre>" 
>       echo "# Freeing caches ..." 
>       echo 3 > /proc/sys/vm/drop_caches 
> -     echo "# sysupgrade $args $HASERL_firmware_path" 
> -     sysupgrade $args $HASERL_firmware_path 
> +     echo "# sysupgrade $args /tmp/uploadedfw.bin" 
> +     mv -f "$HASERL_firmware_path" /tmp/uploadedfw.bin 
> +     sysupgrade $args /tmp/uploadedfw.bin 
>       echo "</pre>" 
>  fi 
>  %> 
> 

 
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190525/4d70828f/attachment.html>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : openpgp-digital-signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190525/4d70828f/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev