public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Frank Haverkamp <haver@vnet.ibm.com>
To: Kevin Starinieri <kevin_s1@verifone.com>
Cc: linux-mtd@lists.infradead.org
Subject: Re: Creating NAND flash image outside embedded target
Date: Fri, 23 Jun 2006 09:57:01 +0200	[thread overview]
Message-ID: <1151049421.6067.25.camel@localhost.localdomain> (raw)
In-Reply-To: <267BDCD982E696419B21B63BF91270310225258A@SMFNTMAIL.verifone.com>

Hi Kevin,

we had a similar problem with our embedded powerpc system where we
needed pre-build binary images to be flashed via a JTAG programming
utility into our NAND flashes. We also wanted to boot using NAND
flash only and have NAND flash scrubbing and the possiblity to
handle those bad blocks gracefully. 

For those and other reasons we developed UBI which we recently
published. It implements an interresting volume management approach,
helping to overcome some limitations which a traditional fixed
address/size partitioning scheme had. If you like, you can have a look
at our design paper and the associated utilities in my mtd-utils.git.

Here you can find our UBI design paper and a brief overview:
http://www.linux-mtd.infradead.org/doc/ubi.html

Maybe you find other aspects which are interessting for your
application too.

On Thu, 2006-06-22 at 17:28 -0700, Kevin Starinieri wrote:
> I have looked through the mail archives and did not see any subject
> threads regarding this.  I am trying to create a NAND flash image
> without having to do it on my embedded target.  

> I then wanted to partition the fake mtd device and write to it using a
> nandwrite utility that I compiled for x86 that is used for samsung arm
> s3c2410 nand flash.  But the utility expects the device to be
> partitioned and erase regions to be defined.  But, I don't know of
> anyway to do this outside of my target.

For generation of UBI/NAND images on your developemt (x86) systems we
are using the ubi-utils toolchain:

 o mkpfi is processing a configuration file and binary input data e.g.
   JFFS2 images, boot-code, kernel images. It creates a partial flash
   image (pfi) file which can be used by other tools e.g.
 o pfi2bin which converts the pfi file into plain binary output.
   For NOR flashes that would be an image you could directly burn
   into your NOR which you solder afterwards onto your board,
   for NAND you can run:
 o bin2nand which adds the OOB whith ECC information (currently only
   our layout, but one could consider enhancing it).

The output of this we can flash via JTAG to our systems. If this works
we use on our embedded systems:
 o overwriting files in JFFS2 ;-) and
 o pfiflash to flash pfi files to the system e.g. boot-code, 
   kernel which are stored in UBI static volumes. We are 
   using this to update our systems. To create UBI volumes 
   manually and update them, we use:
 o ubimkvol, ubirmvol, ubiupdatevol

We even started (and have not finished yet) the inverse toolchain which
can convert the data you read via JTAG from broken systems back into
binary data which previously was written to the UBI volumes. This is
intended to be used for field returns which do not boot/operate
correctly anymore.

Frank

      reply	other threads:[~2006-06-23  7:57 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-23  0:28 Creating NAND flash image outside embedded target Kevin Starinieri
2006-06-23  7:57 ` Frank Haverkamp [this message]

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=1151049421.6067.25.camel@localhost.localdomain \
    --to=haver@vnet.ibm.com \
    --cc=kevin_s1@verifone.com \
    --cc=linux-mtd@lists.infradead.org \
    /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