On 01/05/2016 02:05 PM, Yegor Yefremov wrote: >>>>> What about unsigned images? >>>> >>>> That's not our use case. We use plain zImages instead. >>> >>> The solution would be to introduce an option like in U-Boot? >>> >>> CONFIG_FIT_SIGNATURE: >>> >>> This option enables signature verification of FIT uImages, >>> using a hash signed and verified using RSA. If >>> CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive >>> hashing is available using hardware, RSA library will use it. >>> See doc/uImage.FIT/signature.txt for more details. >> >> Technically possible, but I'm not sure what are the benefits of using >> fit images, if you don't need signatures. barebox implements >> freedesktop.org's bootspec and this is IMHO the way to go. > > For me FIT is just a way to have a kernel and a bunch of device tree > blobs in one file. Signed or not signed is an option for me. Just like > U-Boot implements it. This is user responsibility. Send patches. :D > In my use case I just read device ID from EEPROM, load my > kernel-fit.itb and select needed DTB via this ID. This way I have only > one SD card image, that can be run on more, than 10 different devices > using the same core module. >>>>> I also get: unsupported algo crc32 >>>>> Is it intended to be supported? >>>> >>>> Not for our usecase - feel free to add crc32 support. >>> >>> OK. >>> >>> But what about FIT configuration selection syntax? >> >> What's this? > > Have you seen my comments to this patch regarding > fit_open_configuration() routine? sorry - I've missed that. Too many quoted lines. :D >> > +static int fit_open_configuration(struct fit_handle *handle, int num) >> > +{ >> > + struct device_node *conf_node = NULL, *sig_node; >> > + char unit_name[10]; >> > + const char *unit, *desc; >> > + int ret, level; >> > + >> > + conf_node = of_get_child_by_name(handle->root, "configurations"); >> > + if (!conf_node) >> > + return -ENOENT; >> > + >> > + if (num) { >> > + snprintf(unit_name, sizeof(unit_name), "conf@%d", num); > > This is not working for my *.its file: > https://github.com/visionsystemsgmbh/onrisc_br_bsp/blob/master/board/vscom/baltos/kernel-fit.its > U-Boot is working with bootm ${loadaddr}#conf${board_name} > > For Barebox I've changed this line to > > snprintf(unit_name, sizeof(unit_name), "conf%d@1", num) > > This is how I start Linux: bootm /boot/kernel-fit.itb@$global.board.id > > What is the standard for providing FIT configuration? Don't know. Is there a spec in the u-boot sources, otherwise use the code. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |