[PATCH 2/4] kirkwood: sysupgrade: drop unnecessary UBI to UBI logic

Bjørn Mork bjorn at mork.no
Sat Mar 20 10:48:25 GMT 2021


The purpose of this code seems to be to avoid issues caused
by partially overwriting an existing UBI partition, where some
of the erase counters would be reset but not the unmodified
ones.  This problem has been solved in a more generic way by
the UBI EOF marker. This ensures that any old PEBs after the
marker are properly initialized.  It is therefore unnecessary
to erase the whole partition before flashing a new OpenWrt
factory image.

Signed-off-by: Bjørn Mork <bjorn at mork.no>
---
 .../base-files/lib/upgrade/linksys.sh         | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/target/linux/kirkwood/base-files/lib/upgrade/linksys.sh b/target/linux/kirkwood/base-files/lib/upgrade/linksys.sh
index b89aad3d7ed2..1f2596ea880c 100644
--- a/target/linux/kirkwood/base-files/lib/upgrade/linksys.sh
+++ b/target/linux/kirkwood/base-files/lib/upgrade/linksys.sh
@@ -44,10 +44,6 @@ linksys_get_target_firmware() {
 	esac
 }
 
-linksys_get_root_magic() {
-	(get_image "$@" | dd skip=786432 bs=4 count=1 | hexdump -v -n 4 -e '1/1 "%02x"') 2>/dev/null
-}
-
 platform_do_upgrade_linksys() {
 	local magic_long="$(get_magic_long "$1")"
 
@@ -75,19 +71,6 @@ platform_do_upgrade_linksys() {
 		nand_upgrade_tar "$1"
 	}
 	[ "$magic_long" = "27051956" ] && {
-		# check firmwares' rootfs types
-		local target_mtd=$(find_mtd_part $part_label)
-		local oldroot="$(linksys_get_root_magic $target_mtd)"
-		local newroot="$(linksys_get_root_magic "$1")"
-
-		if [ "$newroot" = "55424923" -a "$oldroot" = "55424923" ]
-		# we're upgrading from a firmware with UBI to one with UBI
-		then
-			# erase everything to be safe
-			mtd erase $part_label
-			get_image "$1" | mtd -n write - $part_label
-		else
-			get_image "$1" | mtd write - $part_label
-		fi
+		get_image "$1" | mtd write - $part_label
 	}
 }
-- 
2.20.1




More information about the openwrt-devel mailing list