Build system: Fix "dd: invalid number `0x800000'"

dd doesn't recognise hex number. the commit introducing this:
f21b657 build system: improve portability by not relying on extraordinary dd options

Change-Id: Ie0df3eb00fa2ba5d7bbb8218e24b864cbdd07c3a
Signed-off-by: WANG Siyuan <>
Signed-off-by: WANG Siyuan <>
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <>
Reviewed-by: Paul Menzel <>
diff --git a/ b/
index 04e8085..b67f145 100644
--- a/
+++ b/
@@ -560,7 +560,7 @@
 	@printf "    CBFS       $(subst $(obj)/,,$(@))\n"
 # The full ROM may be larger than the CBFS part, so create an empty
 # file (filled with \377 = 0xff) and copy the CBFS image over it.
-	dd if=/dev/zero bs=$(CONFIG_ROM_SIZE) count=1 | tr '\000' '\377' > $@.tmp
+	dd if=/dev/zero bs=$(call _toint,$(CONFIG_ROM_SIZE)) count=1 2> /dev/null | tr '\000' '\377' > $@.tmp
 	dd if=$(obj)/coreboot.pre of=$@.tmp bs=8192 conv=notrunc 2> /dev/null
 	$(CBFSTOOL) $@.tmp add-stage -f $(objcbfs)/ramstage.elf -n $(CONFIG_CBFS_PREFIX)/ramstage -c $(CBFS_COMPRESS_FLAG)