|
|
@ -105,26 +105,26 @@ rootfs_type() { |
|
|
|
|
|
|
|
|
|
|
|
get_image() { # <source> [ <command> ] |
|
|
|
get_image() { # <source> [ <command> ] |
|
|
|
local from="$1" |
|
|
|
local from="$1" |
|
|
|
local cmd="$2" |
|
|
|
local conc="$2" |
|
|
|
local conc |
|
|
|
local cmd |
|
|
|
|
|
|
|
|
|
|
|
if [ -z "$cmd" ]; then |
|
|
|
case "$from" in |
|
|
|
case "$from" in |
|
|
|
http://*|ftp://*) cmd="wget -O- -q";; |
|
|
|
http://*|ftp://*) cmd="wget -O- -q";; |
|
|
|
*) cmd="cat";; |
|
|
|
*) cmd="cat";; |
|
|
|
esac |
|
|
|
esac |
|
|
|
if [ -z "$conc" ]; then |
|
|
|
local magic="$(eval $cmd $from | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')" |
|
|
|
local magic="$(eval $cmd $from | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')" |
|
|
|
case "$magic" in |
|
|
|
case "$magic" in |
|
|
|
1f8b) conc="| zcat";; |
|
|
|
1f8b) conc="zcat";; |
|
|
|
425a) conc="| bzcat";; |
|
|
|
425a) conc="bzcat";; |
|
|
|
esac |
|
|
|
esac |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
eval "$cmd $from $conc" |
|
|
|
eval "$cmd $from ${conc:+| $conc}" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
get_magic_word() { |
|
|
|
get_magic_word() { |
|
|
|
get_image "$1" | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"' |
|
|
|
get_image "$@" | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"' |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
refresh_mtd_partitions() { |
|
|
|
refresh_mtd_partitions() { |
|
|
|