f4f85071cf8d791fc8519b73f3fe6257914b72f9
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_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_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
)
45 redboot_fis_do_upgrade
"$1" vmlinux_2
48 redboot_fis_do_upgrade
"$1" linux
51 ubnt
,routerstation-pro
)
52 redboot_fis_do_upgrade
"$1" kernel
55 default_do_upgrade
"$1"