[source] mvebu: fix sysupgrade

LEDE Commits lede-commits at lists.infradead.org
Thu Jun 1 11:41:49 PDT 2017


neoraider pushed a commit to source.git, branch master:
https://git.lede-project.org/5654a037689415eb06a59ec4738ae902217ab363

commit 5654a037689415eb06a59ec4738ae902217ab363
Author: Matthias Schiffer <mschiffer at universe-factory.net>
AuthorDate: Thu Jun 1 18:39:12 2017 +0200

    mvebu: fix sysupgrade
    
    mvebu was modifying RAMFS_COPY_BIN and RAMFS_COPY_DATA from a
    sysupgrade_pre_upgrade hook. As the ramfs is created from stage2, this
    did not have an effect anymore after the staged sysupgrade changes.
    
    As it doesn't really hurt to copy fw_printenv and fw_setenv
    unconditionally, simply add them in /lib/upgrade/platform.sh, so stage2
    will see them.
    
    Config copying is moved to a function called by platform_copy_config, where
    it belongs.
    
    Signed-off-by: Matthias Schiffer <mschiffer at universe-factory.net>
    Fixes: FS#821
    Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
---
 package/base-files/files/lib/upgrade/stage2          |  2 +-
 target/linux/mvebu/base-files/lib/upgrade/linksys.sh | 20 +++-----------------
 .../linux/mvebu/base-files/lib/upgrade/platform.sh   |  6 +++++-
 3 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2
index cc8047d..bdbb892 100755
--- a/package/base-files/files/lib/upgrade/stage2
+++ b/package/base-files/files/lib/upgrade/stage2
@@ -48,7 +48,7 @@ switch_to_ramfs() {
 		/bin/sleep /bin/zcat /usr/bin/bzcat /usr/bin/printf /usr/bin/wc \
 		/bin/cut /usr/bin/printf /bin/sync /bin/mkdir /bin/rmdir	\
 		/bin/rm /usr/bin/basename /bin/kill /bin/chmod /usr/bin/find \
-		/bin/mknod
+		/bin/mknod /bin/touch
 
 	install_bin /sbin/mtd
 	install_bin /sbin/mount_root
diff --git a/target/linux/mvebu/base-files/lib/upgrade/linksys.sh b/target/linux/mvebu/base-files/lib/upgrade/linksys.sh
index d06a1b8..63d1cd1 100644
--- a/target/linux/mvebu/base-files/lib/upgrade/linksys.sh
+++ b/target/linux/mvebu/base-files/lib/upgrade/linksys.sh
@@ -73,21 +73,7 @@ platform_do_upgrade_linksys() {
 	}
 }
 
-linksys_preupgrade() {
-	local board=$(mvebu_board_name)
-
-	case "$board" in
-	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba|armada-385-linksys-rango)
-		export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /usr/sbin/fw_printenv /usr/sbin/fw_setenv"
-		export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /bin/mkdir /bin/touch"
-		export RAMFS_COPY_DATA="${RAMFS_COPY_DATA} /etc/fw_env.config /var/lock/fw_printenv.lock"
-
-		[ -f /tmp/sysupgrade.tgz ] && {
-			cp /tmp/sysupgrade.tgz /tmp/syscfg/sysupgrade.tgz
-		}
-		;;
-	esac
+platform_copy_config_linksys() {
+	cp -f /tmp/sysupgrade.tgz /tmp/syscfg/sysupgrade.tgz
+	sync
 }
-
-append sysupgrade_pre_upgrade linksys_preupgrade
-
diff --git a/target/linux/mvebu/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/base-files/lib/upgrade/platform.sh
index 12e5bdc..8085634 100755
--- a/target/linux/mvebu/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mvebu/base-files/lib/upgrade/platform.sh
@@ -5,7 +5,8 @@
 
 . /lib/mvebu.sh
 
-RAMFS_COPY_DATA=/lib/mvebu.sh
+RAMFS_COPY_BIN='/usr/sbin/fw_printenv /usr/sbin/fw_setenv'
+RAMFS_COPY_DATA='/lib/mvebu.sh /etc/fw_env.config /var/lock/fw_printenv.lock'
 REQUIRE_IMAGE_METADATA=1
 
 platform_check_image() {
@@ -34,6 +35,9 @@ platform_copy_config() {
 	local board=$(mvebu_board_name)
 
 	case "$board" in
+	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
+		platform_copy_config_linksys
+		;;
 	armada-388-clearfog)
 		platform_copy_config_clearfog "$ARGV"
 		;;



More information about the lede-commits mailing list