In a customer project we have to do some customization to the fastboot support. In particular, we have to check signatures in uploaded images, which requires us to upload the whole image before it can be flashed. This contradicts Fastboot sparse support, so we make Sparse support optional in this series. We decided to use FIT images as format to the signed images, so now we are in the situation that we want to hold big FIT images in memory and not unnecessarily copy it. Normally Fastboot temporarily stores a file in RAMFS. This file can't be directly used by the FIT image code though, so we add a compile time option to store the temporary fastboot image as a buffer. This can be directly reused by the FIT image code (thanks to recent FIT image changes). Last not least we add hooks to the fastboot code. These can be used to handle commands in a special way, like for example to deny certain commands or to implement special commands. Also there is a "flash" hook which can be used to add a custom flash operation, like for example for our customer to implement signature checking of the FIT images. Sascha Sascha Hauer (9): ubiformat: Allow to ubiformat with a buffer given usb: gadget: fastboot: Make sparse support optional usb: gadget: fastboot: pass struct f_fastboot * around usb: gadget: fastboot: use read_file_2 usb: gadget: fastboot: Always remove temporary file usb: gadget: fastboot: fix typo usb: gadget: fastboot: beautify fb_run_command() usb: gadget: fastboot: Add option to download to a buffer usb: gadget: fastboot: Add external command execution support common/ubiformat.c | 55 ++++++---- drivers/usb/gadget/Kconfig | 22 +++- drivers/usb/gadget/f_fastboot.c | 216 ++++++++++++++++++++++++++-------------- drivers/usb/gadget/multi.c | 2 + include/ubiformat.h | 7 ++ include/usb/fastboot.h | 17 ++++ 6 files changed, 222 insertions(+), 97 deletions(-) -- 2.15.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox