2 # Copyright (C) 2014 OpenWrt.org
6 mtd
=$
(find_mtd_index
"$CI_UBIPART")
7 esize
=$
(cat /proc
/mtd |
grep mtd
$mtd |cut
-d" " -f 3)
8 [ -z "$esize" ] && return 1
9 esize
=$
(printf "%d" 0x
$esize)
10 for a
in `seq 0 64`; do
11 mtd
-o $
((a
* esize
)) -l 400 dump
/dev
/mtd
$mtd > /tmp
/takeover.hdr
12 MAGIC
=$
(dd if=/tmp
/takeover.hdr bs
=1 skip
=261 count
=5 2> /dev
/null
)
13 SIZE
=$
(printf "%d" 0x$
(dd if=/tmp
/takeover.hdr bs
=4 count
=1 2> /dev
/null |
hexdump -v -n 4 -e '1/1 "%02x"'))
14 [ "$MAGIC" = "ustar" ] && {
15 mtd
-o $
((a
* esize
)) -l $
((SIZE
+ 4)) dump
/dev
/mtd
$mtd |
dd bs
=1 skip
=4 of
=/tmp
/sysupgrade.
tar
16 nand_do_upgrade_stage2
/tmp
/sysupgrade.
tar
21 boot_hook_add initramfs nand_takeover