ar71xx: Speed up mtd extraction in ar71xx.sh
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Thu, 7 Mar 2019 08:40:09 +0000 (09:40 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Wed, 13 Mar 2019 15:27:41 +0000 (16:27 +0100)
Although the amount of data read here is smaller than for the
caldata, there still might be some speed gain compared to reading
bytewise. And there is no harm ...

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ar71xx/base-files/lib/ar71xx.sh

index 95fa247f4bef053074be279879a04ca8728d6065..f0f6f0398ba2951003bdf397642013570ed0da92 100755 (executable)
@@ -16,7 +16,7 @@ ar71xx_get_mtd_offset_size_format() {
        dev=$(find_mtd_part $mtd)
        [ -z "$dev" ] && return
 
-       dd if=$dev bs=1 skip=$offset count=$size 2>/dev/null | hexdump -v -e "1/1 \"$format\""
+       dd if=$dev iflag=skip_bytes bs=$size skip=$offset count=1 2>/dev/null | hexdump -v -e "1/1 \"$format\""
 }
 
 ar71xx_get_mtd_part_magic() {
@@ -390,7 +390,7 @@ tplink_pharos_v2_get_model_string() {
        part=$(find_mtd_part 'product-info')
        [ -z "$part" ] && return 1
 
-       dd if=$part bs=1 skip=4360 count=64 2>/dev/null | tr -d '\r\0' | head -n 1
+       dd if=$part iflag=skip_bytes bs=64 skip=4360 count=1 2>/dev/null | tr -d '\r\0' | head -n 1
 }
 
 ar71xx_board_detect() {