summaryrefslogtreecommitdiff
path: root/target/linux/orion/base-files/lib/upgrade/platform.sh
blob: fdd26c5176c9b2b5d33a3df6c4a56a701087e009 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# use default "image" for PART_NAME
# use default for platform_do_upgrade()

platform_check_image() {
	[ "${ARGC}" -gt 1 ] && { echo 'Too many arguments. Only flash file expected.'; return 1; }

	local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo`
	local magic="$(get_magic_word "$1")"

	case "${hardware}" in
	 # hardware with padded uImage + padded rootfs
	 'Linksys WRT350N v2')
		[ "${magic}" != '2705' ] && {
			echo "Invalid image type ${magic}."
			return 1
		}
		return 0
		;;
	 # Netgear WNR854T has extra header before uImage
	 'Netgear WNR854T')
		[ "${magic}" != '8519' ] && {
			echo "Invalid image type ${magic}."
			return 1
		}
		return 0
		;;
	esac

	echo "Sysupgrade is not yet supported on ${hardware}."
	return 1
}