From bc1fc688afcc974ac4deb417a51061975fd0aef5 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 22 Mar 2015 15:11:20 +0000
Subject: [PATCH] base-files: keep sysupgrade.tgz until /etc/init.d/done has
 been called

This makes interrupted boots after sysupgrade more reliable

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44941
---
 package/base-files/files/etc/init.d/done           | 1 +
 package/base-files/files/lib/preinit/80_mount_root | 5 +----
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/package/base-files/files/etc/init.d/done b/package/base-files/files/etc/init.d/done
index b254aff315..ed75e4022f 100755
--- a/package/base-files/files/etc/init.d/done
+++ b/package/base-files/files/etc/init.d/done
@@ -4,6 +4,7 @@
 START=95
 boot() {
 	[ -d /tmp/root ] && mount_root done
+	rm -f /sysupgrade.tgz
 
 	# process user commands
 	[ -f /etc/rc.local ] && {
diff --git a/package/base-files/files/lib/preinit/80_mount_root b/package/base-files/files/lib/preinit/80_mount_root
index 0292d82d4a..f3fe788e19 100644
--- a/package/base-files/files/lib/preinit/80_mount_root
+++ b/package/base-files/files/lib/preinit/80_mount_root
@@ -8,10 +8,7 @@ do_mount_root() {
 	[ -f /sysupgrade.tgz ] && {
 		echo "- config restore -"
 		cd /
-		mv sysupgrade.tgz /tmp
-		tar xzf /tmp/sysupgrade.tgz
-		rm -f /tmp/sysupgrade.tgz
-		sync
+		tar xzf /sysupgrade.tgz
 	}
 }
 
-- 
GitLab