U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] dfu: dfu and UBI Volumes
Date: Wed, 29 May 2013 08:09:33 -0400	[thread overview]
Message-ID: <20130529120933.GE11917@bill-the-cat> (raw)
In-Reply-To: <51A5858F.6080107@denx.de>

On Wed, May 29, 2013 at 06:35:27AM +0200, Heiko Schocher wrote:

> Hello Tom,
> 
> Am 28.05.2013 23:16, schrieb Tom Rini:
> > On Tue, May 28, 2013 at 11:01:09PM +0200, Wolfgang Denk wrote:
> >> Dear Tom,
> >>
> >> In message <20130528172309.GF5829@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.
> 
> Yes, I think so too ... seems some work, but not unsolveable ...
> 
> Hmm.. is it possible to get the filesize over dfu on startup? (I hope
> so, as it makes no sense to transfer a file, if it does not fit in the
> partition ... )

There is not, but that's OK.  Even if you think you had the room for the
whole image you could find a new bad block and not fit, so it's just
behaving like when we do a raw NAND write, get the data chunk, make sure
we think we still have room, write if we do, error if we don't.

-- 
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/20130529/7a06f8da/attachment.pgp>

  reply	other threads:[~2013-05-29 12:09 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-24 16:39 [U-Boot] dfu: dfu and UBI Volumes Heiko Schocher
2013-05-24 16:42 ` Pantelis Antoniou
2013-05-24 17:12   ` Tom Rini
2013-05-26  7:09     ` Heiko Schocher
2013-05-27  7:02       ` Lukasz Majewski
2013-05-27  7:28         ` Heiko Schocher
2013-05-27  7:35           ` Pantelis Antoniou
2013-05-27  7:45             ` Heiko Schocher
2013-05-27 16:25               ` Wolfgang Denk
2013-05-27 16:29                 ` Pantelis Antoniou
2013-05-27 20:41                   ` Tom Rini
2013-05-27 21:25                     ` Wolfgang Denk
2013-05-27 23:37                       ` Tom Rini
2013-05-28  5:50                         ` Wolfgang Denk
2013-05-28 15:01                           ` Tom Rini
2013-05-28 15:05                             ` Pantelis Antoniou
2013-05-28 16:31                               ` Benoît Thébaudeau
2013-05-28 16:43                                 ` Pantelis Antoniou
2013-05-28 16:43                                   ` Benoît Thébaudeau
2013-05-28 16:53                                     ` Pantelis Antoniou
2013-05-28 17:23                                 ` Tom Rini
2013-05-28 21:01                                   ` Wolfgang Denk
2013-05-28 21:16                                     ` Tom Rini
2013-05-29  4:35                                       ` Heiko Schocher
2013-05-29 12:09                                         ` Tom Rini [this message]
2013-05-28  3:42                       ` Heiko Schocher
2013-05-28  5:55                         ` Wolfgang Denk
2013-05-28 15:35                           ` Tom Rini
2013-05-28  4:10                     ` Heiko Schocher
2013-05-27 19:21       ` Tom Rini
2013-05-28  4:04         ` Heiko Schocher
2013-05-28  5:58           ` Wolfgang Denk
2013-05-28  6:24             ` Heiko Schocher
2013-05-28 16:00               ` Tom Rini
2013-05-24 18:41   ` Wolfgang Denk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130529120933.GE11917@bill-the-cat \
    --to=trini@ti.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox