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 <stijn@linux-ipv6.be>
This commit is contained in:
		| @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk | |||||||
|  |  | ||||||
| BOARD:=mvebu | BOARD:=mvebu | ||||||
| BOARDNAME:=Marvell EBU Armada | 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 | SUBTARGETS:=cortexa9 cortexa53 cortexa72 | ||||||
|  |  | ||||||
| KERNEL_PATCHVER:=5.4 | KERNEL_PATCHVER:=5.4 | ||||||
|   | |||||||
| @@ -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 |  | ||||||
| } |  | ||||||
| @@ -15,7 +15,7 @@ platform_check_image() { | |||||||
| 	globalscale,espressobin-ultra|\ | 	globalscale,espressobin-ultra|\ | ||||||
| 	globalscale,espressobin-v7|\ | 	globalscale,espressobin-v7|\ | ||||||
| 	globalscale,espressobin-v7-emmc) | 	globalscale,espressobin-v7-emmc) | ||||||
| 		platform_check_image_sdcard "$1" | 		sdcard_check_image "$1" | ||||||
| 		;; | 		;; | ||||||
| 	*) | 	*) | ||||||
| 		return 0 | 		return 0 | ||||||
| @@ -31,7 +31,7 @@ platform_do_upgrade() { | |||||||
| 	globalscale,espressobin-ultra|\ | 	globalscale,espressobin-ultra|\ | ||||||
| 	globalscale,espressobin-v7|\ | 	globalscale,espressobin-v7|\ | ||||||
| 	globalscale,espressobin-v7-emmc) | 	globalscale,espressobin-v7-emmc) | ||||||
| 		platform_do_upgrade_sdcard "$1" | 		sdcard_do_upgrade "$1" | ||||||
| 		;; | 		;; | ||||||
| 	methode,udpu) | 	methode,udpu) | ||||||
| 		platform_do_upgrade_uDPU "$1" | 		platform_do_upgrade_uDPU "$1" | ||||||
| @@ -49,7 +49,7 @@ platform_copy_config() { | |||||||
| 	globalscale,espressobin-ultra|\ | 	globalscale,espressobin-ultra|\ | ||||||
| 	globalscale,espressobin-v7|\ | 	globalscale,espressobin-v7|\ | ||||||
| 	globalscale,espressobin-v7-emmc) | 	globalscale,espressobin-v7-emmc) | ||||||
| 		platform_copy_config_sdcard | 		sdcard_copy_config | ||||||
| 		;; | 		;; | ||||||
| 	methode,udpu) | 	methode,udpu) | ||||||
| 		platform_copy_config_uDPU | 		platform_copy_config_uDPU | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ platform_check_image() { | |||||||
| 	case "$(board_name)" in | 	case "$(board_name)" in | ||||||
| 	marvell,armada8040-mcbin-doubleshot|\ | 	marvell,armada8040-mcbin-doubleshot|\ | ||||||
| 	marvell,armada8040-mcbin-singleshot) | 	marvell,armada8040-mcbin-singleshot) | ||||||
| 		platform_check_image_sdcard "$1" | 		sdcard_check_image "$1" | ||||||
| 		;; | 		;; | ||||||
| 	*) | 	*) | ||||||
| 		return 0 | 		return 0 | ||||||
| @@ -23,7 +23,7 @@ platform_do_upgrade() { | |||||||
| 	case "$(board_name)" in | 	case "$(board_name)" in | ||||||
| 	marvell,armada8040-mcbin-doubleshot|\ | 	marvell,armada8040-mcbin-doubleshot|\ | ||||||
| 	marvell,armada8040-mcbin-singleshot) | 	marvell,armada8040-mcbin-singleshot) | ||||||
| 		platform_do_upgrade_sdcard "$1" | 		sdcard_do_upgrade "$1" | ||||||
| 		;; | 		;; | ||||||
| 	*) | 	*) | ||||||
| 		default_do_upgrade "$1" | 		default_do_upgrade "$1" | ||||||
| @@ -34,7 +34,7 @@ platform_copy_config() { | |||||||
| 	case "$(board_name)" in | 	case "$(board_name)" in | ||||||
| 	marvell,armada8040-mcbin-doubleshot|\ | 	marvell,armada8040-mcbin-doubleshot|\ | ||||||
| 	marvell,armada8040-mcbin-singleshot) | 	marvell,armada8040-mcbin-singleshot) | ||||||
| 		platform_copy_config_sdcard | 		sdcard_copy_config | ||||||
| 		;; | 		;; | ||||||
| 	esac | 	esac | ||||||
| } | } | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ platform_check_image() { | |||||||
| 	kobol,helios4|\ | 	kobol,helios4|\ | ||||||
| 	solidrun,clearfog-base-a1|\ | 	solidrun,clearfog-base-a1|\ | ||||||
| 	solidrun,clearfog-pro-a1) | 	solidrun,clearfog-pro-a1) | ||||||
| 		platform_check_image_sdcard "$1" | 		sdcard_check_image "$1" | ||||||
| 		;; | 		;; | ||||||
| 	*) | 	*) | ||||||
| 		return 0 | 		return 0 | ||||||
| @@ -30,7 +30,7 @@ platform_do_upgrade() { | |||||||
| 	kobol,helios4|\ | 	kobol,helios4|\ | ||||||
| 	solidrun,clearfog-base-a1|\ | 	solidrun,clearfog-base-a1|\ | ||||||
| 	solidrun,clearfog-pro-a1) | 	solidrun,clearfog-pro-a1) | ||||||
| 		platform_do_upgrade_sdcard "$1" | 		sdcard_do_upgrade "$1" | ||||||
| 		;; | 		;; | ||||||
| 	linksys,wrt1200ac|\ | 	linksys,wrt1200ac|\ | ||||||
| 	linksys,wrt1900ac-v1|\ | 	linksys,wrt1900ac-v1|\ | ||||||
| @@ -51,7 +51,7 @@ platform_copy_config() { | |||||||
| 	kobol,helios4|\ | 	kobol,helios4|\ | ||||||
| 	solidrun,clearfog-base-a1|\ | 	solidrun,clearfog-base-a1|\ | ||||||
| 	solidrun,clearfog-pro-a1) | 	solidrun,clearfog-pro-a1) | ||||||
| 		platform_copy_config_sdcard | 		sdcard_copy_config | ||||||
| 		;; | 		;; | ||||||
| 	linksys,wrt1200ac|\ | 	linksys,wrt1200ac|\ | ||||||
| 	linksys,wrt1900ac-v1|\ | 	linksys,wrt1900ac-v1|\ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Stijn Tintel
					Stijn Tintel