diff options
3 files changed, 55 insertions, 12 deletions
| diff --git a/target/linux/orion/base-files/lib/upgrade/platform.sh b/target/linux/orion/base-files/lib/upgrade/platform.sh new file mode 100644 index 000000000..def241d4b --- /dev/null +++ b/target/linux/orion/base-files/lib/upgrade/platform.sh @@ -0,0 +1,23 @@ +# 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 +	 'Netgear WNR854T' | 'Linksys WRT350N v2') +		[ "${magic}" != '2705' ] && { +			echo "Invalid image type ${magic}." +			return 1 +		} +		return 0 +		;; +	esac + +	echo "Sysupgrade is not yet supported on ${hardware}." +	return 1 +} diff --git a/target/linux/orion/patches/100-openwrt_partition_map.patch b/target/linux/orion/patches/100-openwrt_partition_map.patch index 1fd4652b0..bef4a54e8 100644 --- a/target/linux/orion/patches/100-openwrt_partition_map.patch +++ b/target/linux/orion/patches/100-openwrt_partition_map.patch @@ -1,25 +1,32 @@  --- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c  +++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c -@@ -58,19 +58,11 @@ static struct mtd_partition wrt350n_v2_n +@@ -58,11 +58,11 @@ static struct mtd_partition wrt350n_v2_nor_flash_partitions   	{   		.name		= "kernel",   		.offset		= 0x00000000,  -		.size		= 0x00760000, -+		.size		= 0x00100000, ++		.size		= 0x00100000,	// change to kernel mtd size here (1/3)   	}, {   		.name		= "rootfs",  -		.offset		= 0x001a0000, ++		.offset		= 0x00100000,	// change to kernel mtd size here (2/3)  -		.size		= 0x005c0000, --	}, { --		.name		= "lang", --		.offset		= 0x00760000, --		.size		= 0x00040000, --	}, { --		.name		= "nvram", --		.offset		= 0x007a0000, --		.size		= 0x00020000, -+		.offset		= 0x00100000, -+		.size		= 0x00650000, ++		.size		= 0x00650000,	// adopt to kernel mtd size here (3/3) = 0x00750000 - <kernel mtd size>   	}, { + 		.name		= "lang", + 		.offset		= 0x00760000, +@@ -75,6 +79,14 @@ static struct mtd_partition wrt350n_v2_nor_flash_partitions   		.name		= "u-boot",   		.offset		= 0x007c0000, + 		.size		= 0x00040000, ++	}, { ++		.name		= "eRcOmM_do_not_touch", ++		.offset		= 0x00750000, ++		.size		= 0x00010000,	// erasesize ++	}, { ++		.name		= "image",	// for sysupgrade ++		.offset		= 0x00000000, ++		.size		= 0x00750000, + 	}, + }; +  diff --git a/target/linux/orion/patches/101-wnr854t_partition_map.patch b/target/linux/orion/patches/101-wnr854t_partition_map.patch new file mode 100644 index 000000000..4e96038ed --- /dev/null +++ b/target/linux/orion/patches/101-wnr854t_partition_map.patch @@ -0,0 +1,13 @@ +--- a/arch/arm/mach-orion5x/wnr854t-setup.c ++++ b/arch/arm/mach-orion5x/wnr854t-setup.c +@@ -67,6 +67,10 @@ static struct mtd_partition wnr854t_nor_flash_partitions + 		.name		= "uboot", + 		.offset		= 0x00760000, + 		.size		= 0x00040000, ++	}, { ++		.name		= "image",	// for sysupgrade ++		.offset		= 0x00000000, ++		.size		= 0x00760000, + 	}, + }; +  | 
