[PATCH] Makefile: remove block from conv=block, sync in SPL alignment dd
Simon Glass
sjg at chromium.org
Mon May 4 15:00:23 CEST 2026
On 2026-05-01T14:38:50, Brad Klingerman <bdklingerman at gmail.com> wrote:
> Makefile: remove block from conv=block, sync in SPL alignment dd
>
> The line that produces $(SPL_BIN)-align.bin invokes dd with
> conv=block,sync but no cbs= operand. The result of dd conv=block
> without cbs= is unspecified. GNU coreutils outputs anyway, but
> uutils (default in Ubuntu 26.04 LTS) errors out for files with
> newlines, including SPL binaries, producing:
>
> dd: conv=block or conv=ubnblock specified without cbs=N
>
> Either the block operand must be removed, or cbs=N must be added.
> conv=block is for converting newline-terminated variable-length
> records to fixed-length space-padded ones, which is meaningless
> for a binary SPL image. The intent of the rule is 4-byte
> alignment, which conv=sync alone provides by padding the final
> block to bs= bytes with NULs.
>
> During build, u-boot-spl-align.bin errors silently due to '@'.
>
> Reproduced with uutils dd 0.8.0:
>
> $ dd if=/dev/urandom of=/tmp/in bs=1 count=10000
> $ dd if=/tmp/in of=/tmp/out conv=block,sync bs=4
> dd: conv=block or conv=unblock specified without cbs=N
> $ dd if=/tmp/in of=/tmp/out conv=sync bs=4
> [succeeds]
>
> Output is byte-identical to GNU dd's output for binary input.
>
> Signed-off-by: Brad Klingerman <bdklingerman at gmail.com>
>
> scripts/Makefile.xpl | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass <sjg at chromium.org>
More information about the U-Boot
mailing list