From: Stijn Tintel Date: Fri, 6 Aug 2021 22:42:43 +0000 (+0300) Subject: mvebu: switch to generic sdcard upgrade method X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b1bff5cb57fab31932ceaa0dea9509effe9f5800;p=openwrt%2Fstaging%2Frobimarko.git mvebu: switch to generic sdcard upgrade method Now that we have a generic sdcard upgrade method, which was copied from the mvebu platform method, we can switch mvebu to the generic method. Signed-off-by: Stijn Tintel --- diff --git a/target/linux/mvebu/Makefile b/target/linux/mvebu/Makefile index 1550309a92..6b992f8903 100644 --- a/target/linux/mvebu/Makefile +++ b/target/linux/mvebu/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk BOARD:=mvebu BOARDNAME:=Marvell EBU Armada -FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part +FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part sdcard SUBTARGETS:=cortexa9 cortexa53 cortexa72 KERNEL_PATCHVER:=5.4 diff --git a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh deleted file mode 100644 index caa726b4d5..0000000000 --- a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh +++ /dev/null @@ -1,91 +0,0 @@ -platform_check_image_sdcard() { - local file="$1" - local diskdev partdev diff - - export_bootdevice && export_partdevice diskdev 0 || { - v "Unable to determine upgrade device" - return 1 - } - - get_partitions "/dev/$diskdev" bootdisk - - v "Extract boot sector from the image" - get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b - - get_partitions /tmp/image.bs image - - #compare tables - diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)" - - rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image - - if [ -n "$diff" ]; then - v "Partition layout has changed. Full image will be written." - ask_bool 0 "Abort" && exit 1 - return 0 - fi -} - -platform_do_upgrade_sdcard() { - local board=$(board_name) - local diskdev partdev diff - - export_bootdevice && export_partdevice diskdev 0 || { - v "Unable to determine upgrade device" - return 1 - } - - sync - - if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then - get_partitions "/dev/$diskdev" bootdisk - - v "Extract boot sector from the image" - get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b - - get_partitions /tmp/image.bs image - - #compare tables - diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)" - else - diff=1 - fi - - if [ -n "$diff" ]; then - get_image_dd "$1" of="/dev/$diskdev" bs=4096 conv=fsync - - # Separate removal and addtion is necessary; otherwise, partition 1 - # will be missing if it overlaps with the old partition 2 - partx -d - "/dev/$diskdev" - partx -a - "/dev/$diskdev" - else - v "Writing bootloader to /dev/$diskdev" - get_image_dd "$1" of="$diskdev" bs=512 skip=1 seek=1 count=2048 conv=fsync - #iterate over each partition from the image and write it to the boot disk - while read part start size; do - if export_partdevice partdev $part; then - v "Writing image to /dev/$partdev..." - get_image_dd "$1" of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync - else - v "Unable to find partition $part device, skipped." - fi - done < /tmp/partmap.image - - v "Writing new UUID to /dev/$diskdev..." - get_image_dd "$1" of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync - fi - - sleep 1 -} - -platform_copy_config_sdcard() { - local partdev - - if export_partdevice partdev 1; then - mkdir -p /boot - [ -f /boot/kernel.img ] || mount -o rw,noatime /dev/$partdev /boot - cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE" - sync - umount /boot - fi -} diff --git a/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh index d78f4e884a..26bb022415 100755 --- a/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh +++ b/target/linux/mvebu/cortexa53/base-files/lib/upgrade/platform.sh @@ -15,7 +15,7 @@ platform_check_image() { globalscale,espressobin-ultra|\ globalscale,espressobin-v7|\ globalscale,espressobin-v7-emmc) - platform_check_image_sdcard "$1" + sdcard_check_image "$1" ;; *) return 0 @@ -31,7 +31,7 @@ platform_do_upgrade() { globalscale,espressobin-ultra|\ globalscale,espressobin-v7|\ globalscale,espressobin-v7-emmc) - platform_do_upgrade_sdcard "$1" + sdcard_do_upgrade "$1" ;; methode,udpu) platform_do_upgrade_uDPU "$1" @@ -49,7 +49,7 @@ platform_copy_config() { globalscale,espressobin-ultra|\ globalscale,espressobin-v7|\ globalscale,espressobin-v7-emmc) - platform_copy_config_sdcard + sdcard_copy_config ;; methode,udpu) platform_copy_config_uDPU diff --git a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh index 04ea634097..1713f55b72 100755 --- a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh +++ b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh @@ -11,7 +11,7 @@ platform_check_image() { case "$(board_name)" in marvell,armada8040-mcbin-doubleshot|\ marvell,armada8040-mcbin-singleshot) - platform_check_image_sdcard "$1" + sdcard_check_image "$1" ;; *) return 0 @@ -23,7 +23,7 @@ platform_do_upgrade() { case "$(board_name)" in marvell,armada8040-mcbin-doubleshot|\ marvell,armada8040-mcbin-singleshot) - platform_do_upgrade_sdcard "$1" + sdcard_do_upgrade "$1" ;; *) default_do_upgrade "$1" @@ -34,7 +34,7 @@ platform_copy_config() { case "$(board_name)" in marvell,armada8040-mcbin-doubleshot|\ marvell,armada8040-mcbin-singleshot) - platform_copy_config_sdcard + sdcard_copy_config ;; esac } diff --git a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh index 42289209d5..bf3961c437 100755 --- a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh +++ b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh @@ -13,7 +13,7 @@ platform_check_image() { kobol,helios4|\ solidrun,clearfog-base-a1|\ solidrun,clearfog-pro-a1) - platform_check_image_sdcard "$1" + sdcard_check_image "$1" ;; *) return 0 @@ -30,7 +30,7 @@ platform_do_upgrade() { kobol,helios4|\ solidrun,clearfog-base-a1|\ solidrun,clearfog-pro-a1) - platform_do_upgrade_sdcard "$1" + sdcard_do_upgrade "$1" ;; linksys,wrt1200ac|\ linksys,wrt1900ac-v1|\ @@ -51,7 +51,7 @@ platform_copy_config() { kobol,helios4|\ solidrun,clearfog-base-a1|\ solidrun,clearfog-pro-a1) - platform_copy_config_sdcard + sdcard_copy_config ;; linksys,wrt1200ac|\ linksys,wrt1900ac-v1|\