[PATCH 3/3] bootm: add initial FIT support
Marc Kleine-Budde
mkl at pengutronix.de
Tue Jan 5 05:50:49 PST 2016
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 at 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 |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/barebox/attachments/20160105/e183b03d/attachment.sig>
More information about the barebox
mailing list