From: Rafał Miłecki Date: Sat, 23 Dec 2017 22:14:25 +0000 (+0100) Subject: bcm53xx: use iflag=skip_bytes for dd command during sysupgrade X-Git-Tag: v18.06.0-rc1~1447 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=3267ce750e491ba0290ec3a9a5e3b4dceadd47a5;ds=sidebyside bcm53xx: use iflag=skip_bytes for dd command during sysupgrade Since BusyBox 1.25.0 dd command supports iflag=skip_bytes which allows skipping requested amount of bytes without reducing blocksize. Thanks to this we can leave default blocksize and let dd work more efficiently. On Netgear R6250 "dd skip=58 iflag=skip_bytes" can be 5 times faster than "dd bs=58 skip=1" when extracting TRX out of CHK. Signed-off-by: Rafał Miłecki --- diff --git a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh index 1a33e3a447..06451f17fd 100644 --- a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh @@ -274,11 +274,11 @@ platform_pre_upgrade() { platform_trx_from_chk_cmd() { local header_len=$((0x$(get_magic_long_at "$1" 4))) - echo -n dd bs=$header_len skip=1 + echo -n dd skip=$header_len iflag=skip_bytes } platform_trx_from_cybertan_cmd() { - echo -n dd bs=32 skip=1 + echo -n dd skip=32 iflag=skip_bytes } platform_img_from_safeloader() {