Initial commit
This commit is contained in:
		
							
								
								
									
										87
									
								
								target/linux/bcm63xx/base-files/lib/upgrade/platform.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								target/linux/bcm63xx/base-files/lib/upgrade/platform.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,87 @@ | ||||
| PART_NAME=linux | ||||
| REQUIRE_IMAGE_METADATA=0 | ||||
|  | ||||
| platform_check_image() { | ||||
| 	[ "$#" -gt 1 ] && return 1 | ||||
|  | ||||
| 	case "$(board_name)" in | ||||
| 		comtrend,vg-8050|\ | ||||
| 		comtrend,vr-3032u|\ | ||||
| 		huawei,hg253s-v2|\ | ||||
| 		netgear,dgnd3700-v2|\ | ||||
| 		sercomm,ad1018|\ | ||||
| 		sercomm,h500-s-lowi|\ | ||||
| 		sercomm,h500-s-vfes) | ||||
| 			# NAND sysupgrade | ||||
| 			return 0 | ||||
| 			;; | ||||
| 	esac | ||||
|  | ||||
| 	case "$(get_magic_word "$1")" in | ||||
| 		3600|3700|3800) | ||||
| 			# CFE tag versions | ||||
| 			return 0 | ||||
| 			;; | ||||
| 		*) | ||||
| 			echo "Invalid image type. Please use only .bin files" | ||||
| 			return 1 | ||||
| 			;; | ||||
| 	esac | ||||
| } | ||||
|  | ||||
| cfe_jffs2_upgrade_tar() { | ||||
| 	local tar_file="$1" | ||||
| 	local kernel_mtd="$(find_mtd_index $CI_KERNPART)" | ||||
|  | ||||
| 	if [ -z "$kernel_mtd" ]; then | ||||
| 		echo "$CI_KERNPART partition not found" | ||||
| 		return 1 | ||||
| 	fi | ||||
|  | ||||
| 	local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$') | ||||
| 	board_dir=${board_dir%/} | ||||
|  | ||||
| 	local kernel_length=$(tar xf $tar_file ${board_dir}/kernel -O | wc -c 2> /dev/null) | ||||
| 	local rootfs_length=$(tar xf $tar_file ${board_dir}/root -O | wc -c 2> /dev/null) | ||||
|  | ||||
| 	if [ "$kernel_length" = 0 ]; then | ||||
| 		echo "kernel cannot be empty" | ||||
| 		return 1 | ||||
| 	fi | ||||
|  | ||||
| 	flash_erase -j /dev/mtd${kernel_mtd} 0 0 | ||||
| 	tar xf $tar_file ${board_dir}/kernel -O | nandwrite /dev/mtd${kernel_mtd} - | ||||
|  | ||||
| 	local rootfs_type="$(identify_tar "$tar_file" ${board_dir}/root)" | ||||
|  | ||||
| 	nand_upgrade_prepare_ubi "$rootfs_length" "$rootfs_type" "0" "0" | ||||
|  | ||||
| 	local ubidev="$( nand_find_ubi "$CI_UBIPART" )" | ||||
|  | ||||
| 	local root_ubivol="$(nand_find_volume $ubidev $CI_ROOTPART)" | ||||
| 	tar xf $tar_file ${board_dir}/root -O | \ | ||||
| 		ubiupdatevol /dev/$root_ubivol -s $rootfs_length - | ||||
|  | ||||
| 	nand_do_upgrade_success | ||||
| } | ||||
|  | ||||
| platform_do_upgrade() { | ||||
| 	case "$(board_name)" in | ||||
| 		comtrend,vg-8050|\ | ||||
| 		comtrend,vr-3032u|\ | ||||
| 		huawei,hg253s-v2|\ | ||||
| 		netgear,dgnd3700-v2) | ||||
| 			REQUIRE_IMAGE_METADATA=1 | ||||
| 			cfe_jffs2_upgrade_tar "$1" | ||||
| 			;; | ||||
| 		sercomm,ad1018|\ | ||||
| 		sercomm,h500-s-lowi|\ | ||||
| 		sercomm,h500-s-vfes) | ||||
| 			REQUIRE_IMAGE_METADATA=1 | ||||
| 			nand_do_upgrade "$1" | ||||
| 			;; | ||||
| 		*) | ||||
| 			default_do_upgrade "$1" | ||||
| 			;; | ||||
| 	esac | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 domenico
					domenico