[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