[U-Boot] dfu: dfu and UBI Volumes

Tom Rini trini at ti.com
Tue May 28 23:16:41 CEST 2013


On Tue, May 28, 2013 at 11:01:09PM +0200, Wolfgang Denk wrote:
> Dear Tom,
> 
> In message <20130528172309.GF5829 at bill-the-cat> you wrote:
> > 
> > > Of course this can't yet apply to writing files on file systems since the
> > > current API in U-Boot misses the append feature, but this could be applied to
> > > program raw memory partitions, including UBI images.
> >
> > Correct.  We can write a whole UBI image, today, of NAND size,
> > regardless of DDR size.  But modifying UBI volumes (so UBIFS or your
> 
> I don't think so.  To write a UBI volume on an existing UBI device,
> you would use the "ubi write" command.  This translates into a call of
> ubi_volume_write(char *volume, void *buf, size_t size)  which means
> the size must be known before you start writing; as far as I can tell
> ubi_volume_write() does not support incremental write operations of
> individual "parts" of a volume.

OK.  A very quick read of ubi_volume_write leads into the guts of the
write being in drivers/mtd/ubi/upd.c and it feels like you could
actually do the volume write in chunks with ubi_start_update() and
ubi_more_update_data() (and maybe some other housekeeping bits).  It
might take a bit more work since it looks like looks like both functions
rely on knowing the size at the start, but that's just to make sure the
size will fit in the volume.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130528/7edf2c92/attachment.pgp>


More information about the U-Boot mailing list