[LEDE-DEV] [PATCH] bcm53xx: use iflag=skip_bytes for dd command during sysupgrade

Etienne Champetier champetier.etienne at gmail.com
Sat Dec 23 15:26:35 PST 2017


Hi Rafal,

2017-12-23 14:14 GMT-08:00 Rafał Miłecki <zajec5 at gmail.com>:
> From: Rafał Miłecki <rafal at milecki.pl>
>
> 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 <rafal at milecki.pl>
> ---
>  target/linux/bcm53xx/base-files/lib/upgrade/platform.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> 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

haven't checked, but would "tail -c+32" work (or maybe "tail -c+33") works ?
I know I add a similar old dd version to handle in the past (but
nothing to do with OpenWRT) and "tail" was enough in the end

Regards
Etienne


>  }
>
>  platform_img_from_safeloader() {
> --
> 2.11.0
>
>
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev



More information about the Lede-dev mailing list