
Use lseek rather than fstat for file size for list mode, so mkimage -l /dev/mtdblockN works (stat returns st_size == 0 for devices).
Notice that you have to use /dev/mtdblockN and not /dev/mtdN, as the latter doesn't support mmap.
Signed-off-by: Peter Korsgaard jacmet@sunsite.dk --- tools/mkimage.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/tools/mkimage.c b/tools/mkimage.c index 58fd20f..ca8254f 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -205,7 +205,8 @@ NXTARG: ; /* * list header information of existing image */ - if (fstat(ifd, &sbuf) < 0) { + sbuf.st_size = lseek(ifd, 0, SEEK_END); + if (sbuf.st_size == (off_t)-1) { fprintf (stderr, "%s: Can't stat %s: %s\n", cmdname, imagefile, strerror(errno)); exit (EXIT_FAILURE);