mvebu: fix sysupgrade
Backport another sysupgrade patch.
This commit is contained in:
		
							parent
							
								
									9dae2ebbfd
								
							
						
					
					
						commit
						44995887ec
					
				
							
								
								
									
										85
									
								
								patches/lede/0030-mvebu-fix-sysupgrade.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								patches/lede/0030-mvebu-fix-sysupgrade.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,85 @@
 | 
			
		||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
 | 
			
		||||
Date: Thu, 1 Jun 2017 18:39:12 +0200
 | 
			
		||||
Subject: 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@universe-factory.net>
 | 
			
		||||
Fixes: FS#821
 | 
			
		||||
Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
 | 
			
		||||
 | 
			
		||||
diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2
 | 
			
		||||
index cc8047d988e39ca9ba27d2588744aad469d1d978..bdbb8926643287f48a4ae62c5d1d4b4a29130859 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 d06a1b8ed0534364b595618f24b65f9f3a3e275d..63d1cd14a4deed407b217a518ae25a752f62969e 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 77578e28d42fb7ca5e3f057e42ac5818e851736f..55c084483995d548556a560e171462f2d5456172 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() {
 | 
			
		||||
@@ -31,6 +32,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"
 | 
			
		||||
 		;;
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user