mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	Now that $UPGRADE_BACKUP is set conditionally there is no need to check the $UPGRADE_OPT_SAVE_CONFIG anymore. All conditions can be simplified. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#
 | 
						|
# Copyright (C) 2011 OpenWrt.org
 | 
						|
#
 | 
						|
 | 
						|
PART_NAME=firmware
 | 
						|
REQUIRE_IMAGE_METADATA=1
 | 
						|
 | 
						|
redboot_fis_do_upgrade() {
 | 
						|
	local append
 | 
						|
	local sysup_file="$1"
 | 
						|
	local kern_part="$2"
 | 
						|
	local magic=$(get_magic_word "$sysup_file")
 | 
						|
 | 
						|
	if [ "$magic" = "4349" ]; then
 | 
						|
		local kern_length=0x$(dd if="$sysup_file" bs=2 skip=1 count=4 2>/dev/null)
 | 
						|
 | 
						|
		[ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
 | 
						|
		dd if="$sysup_file" bs=64k skip=1 2>/dev/null | \
 | 
						|
			mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
 | 
						|
 | 
						|
	elif [ "$magic" = "7379" ]; then
 | 
						|
		local board_dir=$(tar tf $sysup_file | grep -m 1 '^sysupgrade-.*/$')
 | 
						|
		local kern_length=$(tar xf $sysup_file ${board_dir}kernel -O | wc -c)
 | 
						|
 | 
						|
		[ -f "$UPGRADE_BACKUP" ] && append="-j $UPGRADE_BACKUP"
 | 
						|
		tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
 | 
						|
			mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
 | 
						|
 | 
						|
	else
 | 
						|
		echo "Unknown image, aborting!"
 | 
						|
		return 1
 | 
						|
	fi
 | 
						|
}
 | 
						|
 | 
						|
platform_check_image() {
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
platform_do_upgrade() {
 | 
						|
	local board=$(board_name)
 | 
						|
 | 
						|
	case "$board" in
 | 
						|
	adtran,bsap1800-v2|\
 | 
						|
	adtran,bsap1840)
 | 
						|
		redboot_fis_do_upgrade "$1" vmlinux_2
 | 
						|
		;;
 | 
						|
	jjplus,ja76pf2)
 | 
						|
		redboot_fis_do_upgrade "$1" linux
 | 
						|
		;;
 | 
						|
	ubnt,routerstation|\
 | 
						|
	ubnt,routerstation-pro)
 | 
						|
		redboot_fis_do_upgrade "$1" kernel
 | 
						|
		;;
 | 
						|
	*)
 | 
						|
		default_do_upgrade "$1"
 | 
						|
		;;
 | 
						|
	esac
 | 
						|
}
 |