From: Matthieu CASTET <matthieu.castet@parrot.com>
To: "dedekind1@gmail.com" <dedekind1@gmail.com>
Cc: Vladimir Khmelnitsky <vladimir@broadlight.com>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>
Subject: Re: simple ubi reader
Date: Mon, 29 Nov 2010 13:53:18 +0100 [thread overview]
Message-ID: <4CF3A23E.5090704@parrot.com> (raw)
In-Reply-To: <1290968019.2032.25.camel@koala>
Hi,
Artem Bityutskiy a écrit :
> On Sun, 2010-11-28 at 11:27 +0200, Vladimir Khmelnitsky wrote:
>> Hi,
>>
>> I need to write bootloader which should read its second stage binary
>> from ubi volume.
>> I wonder if there is some simple open source code I can use to implement
>> ubi volume reader?
>
> I know people doing small bootloader code (closed source) with 4KiB
> constraint for whole code, and it supported UBI R/O. That was clever
> code made by clever people though. But here are some points:
>
> 1. You do not have to read EC headers when scanning
> 2. You do not really need to read the volume table
> 3. If you can assume you need only one volume, say, with vol ID 0, this
> simplifies things further.
>
> Also, AFAIR, some people found that placing VID header at the very end
> of the NAND page made ECC calculations easier and faster. This is
> actually why UBI has 'vid_hdr_offs' option which is not widely used,
> though.
>
> Anyway, this is the original old design document, which may contain some
> hints, but I'm not sure:
>
> http://linux-mtd.infradead.org/doc/ubidesign/ubidesign.pdf
>
> The doc is not up-to-date, but all the design principles are valid.
>
We also develop one ubi reader (only static volumes), but it is not open
source at the moment.
We mainly used drivers/mtd/ubi/ubi-media.h as documentation.
It is quite easy to write one, but there are tricky stuff to handle like
selecting the correct peb for a logical block (copy flags, sqnum, ...).
EC header can be useful to parse if the size of the ubi partition can
change (use of image_seq to determine the end of boot partition).
Matthieu
next prev parent reply other threads:[~2010-11-29 12:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-28 9:27 simple ubi reader Vladimir Khmelnitsky
2010-11-28 10:29 ` Marek Skuczynski
2010-11-28 12:37 ` Vladimir Khmelnitsky
2010-11-28 13:33 ` Marek Skuczynski
2010-11-28 18:13 ` Artem Bityutskiy
2010-11-29 12:53 ` Matthieu CASTET [this message]
2010-11-29 9:54 ` Peter Korsgaard
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=4CF3A23E.5090704@parrot.com \
--to=matthieu.castet@parrot.com \
--cc=dedekind1@gmail.com \
--cc=linux-mtd@lists.infradead.org \
--cc=vladimir@broadlight.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.