f4fca06384b1f02d2cc45a4992e019f5a7808db7
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 "$UPGRADE_BACKUP" ] && append
="-j $UPGRADE_BACKUP"
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 "$UPGRADE_BACKUP" ] && append
="-j $UPGRADE_BACKUP"
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"