[U-Boot] Fastboot behaviour with sparse images

Maxime Ripard
2015-10-12T13:43:01Z

Hi,

I'm currently writing the support in U-Boot for NAND-backed devices
using fastboot [1], and that work derived a bit to supporting the
sparse images.

For "regular" images that are being stored, we expect a pair of
download and flash commands. Simple.

Things start to get a bit more complex with sparse images that have
been split because of a max-download-size lower than the actual image
size.

Here, from what I could gather from various random blog posts, the
fastboot client implementation and dumping a few USB sessions, the
client simply creates several download / flash pairs, always on the
same partition, without any way to distinct that from several
subsequent writes issued by the user.

So, I'm guessing that the expectation is that the bootloader
implementation should store the last offset it wrote to, and simple
resume from there if the partition names in the flash commands are the
same, which would prevent two subsequent write on the same partition
by any client. Am I right?

A related question is when should we erase the NAND partition? Only
when doing fastboot erase, or also when doing fastboot write (which,
combined with the issue raised above, would also mean that we don't
want to do an erase on the whole partition everytime there's a flash
command on it).

Thanks!
Maxime

1: http://lists.denx.de/pipermail/u-boot/2015-August/226053.html

--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151012/5b7991e0/attachment.sig>