"script3 fails with
bs=4
" – Because dd seek=
, when given just a number, uses bs
as the unit; but your calculation uses blockdev --getsz
that counts 512-byte sectors, so it only works with bs=512
. Does your blockdev
support --getsize64
? Does your dd
support oflag=seek_bytes
or seek=…B
that imposes byte count? Can you take it from here?