From 518c0d6fef45bca5100d9b4465f6a21e5fb9f280 Mon Sep 17 00:00:00 2001
From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Wed, 5 Dec 2018 19:26:58 +0100
Subject: [PATCH] fff-sysupgrade/fff-web: Free cache before upgrade
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This might reduce the chance to break devices with 32 MB RAM
during sysupgrade.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
---
 src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh     | 4 ++++
 src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh b/src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh
index c8d037ce..9b0881dc 100755
--- a/src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh
+++ b/src/packages/fff/fff-sysupgrade/files/etc/sysupgrade.sh
@@ -97,6 +97,10 @@ else
     read -p "sha256 sums correct. Should I start upgrading the firmware (y/N)? " yn
     case $yn in
         [Yy]*|[Jj]*)
+            echo ""
+            echo "Freeing caches ..."
+            echo 3 > /proc/sys/vm/drop_caches
+
             echo ""
             echo "Starting firmware upgrade. Don't touch me until I reboot."
             echo ""
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 9762edc3..96199c22 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
@@ -70,6 +70,8 @@ if [ "$do_reset" = "1" ] ; then
 	echo "</pre>"
 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 "</pre>"
-- 
GitLab