On Mon, Aug 28, 2023 at 10:17:55AM +0200, Ahmad Fatoum wrote: > The fastboot host tool chokes when asked to sparse images that are not > 4K-aligned: > > error: write_sparse_skip_chunk: don't care size 4280912 is not a multiple > of the block size 4096 > > This is often not a problem, because disk images tend to be 4K-aligned > and are best converted to sparse images properly explicitly anyway, so > don't care holes are preserved. > > Bootloader binaries on the other hand are smaller than the default > fastboot.max_download_size of 8M, so they are downloaded as a single > chunk without problems. > > Situation is different for kernel and FIT images, which aren't > necessarily 4K aligned, usually bigger than 8M, and are usually > compressed, so explicitly sparsing them doesn't save time and thus is > usually not done. > > Short of fixing the fastboot host tool, users can skip sparsing kernel > images as well by choosing a suitable larger fastboot.max_download_size > than the 8M default. > > To improve user experience, let's scale max_download_size with the > available memory. The minimum default value remains 8M, but the value > can go up to 128M now and is computed by dividing available malloc > area by 8 (roughly 1/16th of total SDRAM). For ARM systems, buffer > sizes would now look like this: > > SDRAM Size Fastboot Buffer size > > 1024M 64M > 512M 32M > 256M 16M > 128M 8M > > To err on the side of caution, we only generate powers-of-two sizes. > This only affects the default value and users can as before override > it in the environment. > > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- > v1 -> v2: > - squash fixup fixing off by one in mem_malloc_size > - drop SZ_8M leftover in fastboot_max_download_size initialization. > It'll always be overridden anyway. > --- > common/fastboot.c | 11 +++++++++-- > include/memory.h | 5 +++++ > 2 files changed, 14 insertions(+), 2 deletions(-) Applied, thanks Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |