[LEDE-DEV] [PATCH] bcm53xx: use iflag=skip_bytes for dd command during sysupgrade
Rafał Miłecki
rafal at milecki.pl
Mon Dec 25 05:18:28 PST 2017
On 2017-12-24 00:26, Etienne Champetier wrote:
> 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
I didn't test it, but I believe we could use tail somehow for that.
The question is: why should we?
We use "dd" in general for a lot of sysupgrade-related operations. It
has more fearures like controlling a block size which we may want to use
in a future for more optimizations. It can be used to "cut" a part of
file from the middle of it.
I don't see any real advantage of switching to tail.
More information about the Lede-dev
mailing list