2 # Copyright (C) 2011 OpenWrt.org
6 REQUIRE_IMAGE_METADATA=1
8 redboot_fis_do_upgrade() {
12 local magic=$(get_magic_word "$sysup_file")
14 if [ "$magic" = "4349" ]; then
15 local kern_length=0x$(dd if="$sysup_file" bs=2 skip=1 count=4 2>/dev/null)
17 [ -f "$CONF_TAR" -a "$UPGRADE_OPT_UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR"
18 dd if="$sysup_file" bs=64k skip=1 2>/dev/null | \
19 mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
21 elif [ "$magic" = "7379" ]; then
22 local board_dir=$(tar tf $sysup_file | grep -m 1 '^sysupgrade-.*/$')
23 local kern_length=$(tar xf $sysup_file ${board_dir}kernel -O | wc -c)
25 [ -f "$CONF_TAR" -a "$UPGRADE_OPT_UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR"
26 tar xf $sysup_file ${board_dir}kernel ${board_dir}root -O | \
27 mtd -r $append -F$kern_part:$kern_length:0x80060000,rootfs write - $kern_part:rootfs
30 echo "Unknown image, aborting!"
35 platform_check_image() {
39 platform_do_upgrade() {
40 local board=$(board_name)
44 redboot_fis_do_upgrade "$1" linux
47 ubnt,routerstation-pro)
48 redboot_fis_do_upgrade "$1" kernel
51 default_do_upgrade "$1"