[U-Boot] [PATCH] tools: mkimage can read input on /dev/stdin

Wolfgang Denk
2014-09-28T06:49:21Z

Dear Julien,

In message <CADF714btdiJT=ccVRBuJk7xUJCgapA-ued=E1J1C0v-Bxa2h=A@mail.gmail.com> you wrote:
>
> Without the patch, with mmap:

Thanks for the numbers. So these indeed make no real difference.

> I understand the use case, in its globality, is pretty exotic.
> However, I don't really get why giving /dev/stdin as input is.

The case where mkimage is taking a single input file is quickly
becoming a rare corner case.

The recommended way to build U-Boot images is (and has been for years,
even though marketing for this has been poor) to build FIT images. In
this case you typically have several inout files, which are not even
listed on the mkimage command line, but referenced in the fit-image.its
file you use. OK, in this case you could feed the fit-image.its
through stdin. But there are other file arguments - like when using
signed images.

Even if you use the (deprecated) legacy image format, the case of using
a single input file is not the generic one. mkimage syntax is:

mkimage ... -d data_file[:data_file...] ...

and allows to provide several input files - pretty often you need the
kernel image and the DT blob. It is also not uncommon to have a
ramdisk image included.

So if we add support to read from stdin instead from a file where we
pass the file name as an argument, we should probably do this in a
consistent way. It would be a frustrating experience to the end user
to learn that he can use stdin here but not there - so we would
probably have to rework all these use cases? And how should we
implement this - would a file name "-" mean stdin (1), or should we
simply pass "/dev/stdin" as file argument (2)?

With (1), we need to change more code, while (2) could probably be
pretty transparent.

You see, even such a simple change like your suggestion needs some
deeper thought if you want to keep the design consistent. This is why
I am asking about your use case, and how it would fit into other
situations.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
There is is no reason for any individual to have a computer in their
home. -- Ken Olsen (President of Digital Equipment Corporation),
Convention of the World Future Society, in Boston, 1977