From 7cb4778e7f49480aeb6a1b97b26d79d80893e174 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Wed, 1 Apr 2015 18:14:12 +0200 Subject: imx-image: pad generated image to 4k Signed-off-by: Marc Kleine-Budde Signed-off-by: Sascha Hauer --- scripts/imx/imx-image.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/imx/imx-image.c b/scripts/imx/imx-image.c index 1abbde202f..cff1997573 100644 --- a/scripts/imx/imx-image.c +++ b/scripts/imx/imx-image.c @@ -653,6 +653,7 @@ int main(int argc, char *argv[]) struct stat s; int infd, outfd; int dcd_only = 0; + int now = 0; while ((opt = getopt(argc, argv, "c:hf:o:bd")) != -1) { switch (opt) { @@ -785,7 +786,7 @@ int main(int argc, char *argv[]) } while (image_size) { - int now = image_size < 4096 ? image_size : 4096; + now = image_size < 4096 ? image_size : 4096; ret = xread(infd, buf, now); if (ret) { @@ -802,6 +803,18 @@ int main(int argc, char *argv[]) image_size -= now; } + /* pad until next 4k boundary */ + now = 4096 - now; + if (now) { + memset(buf, 0x5a, now); + + ret = xwrite(outfd, buf, now); + if (ret) { + perror("write"); + exit(1); + } + } + ret = close(outfd); if (ret) { perror("close"); -- cgit v1.2.3