Linux 2.6.x, MTD drivers and NAND flashes
Gary Kenaley
gkenaley at echelon.com
Tue Jun 12 05:59:53 EST 2007
Laurent,
Can't you just use the flashcp copy command from the mtd-utils package?
-----------------------------------------------------------------------
flash_eraseall -j /dev/mtd0
mkfs.jffs2 -b -n --eraseblock=131072 --pagesize=2048 -p -r /test_root -v -o test_root.img
flashcp test_root.img /dev/mtd0
The other way is what Bill mentions:
------------------------------------
flash_eraseall -j /dev/mtd0
mount -t jffs2 /dev/mtdblock0 /tmp/mnt
tar -xzf test_root.tgz -C /tmp/mnt
umount /tmp/mnt
Gary
> > ________________________________________
> > From: linuxppc-embedded-bounces+gkenaley=echelon.com at ozlabs.org > > > [mailto:linuxppc-embedded-bounces+gkenaley=echelon.com at ozlabs.org] On Behalf > > Of Bill Gatliff
> > Sent: Monday, June 11, 2007 9:00 AM
> > To: Laurent Lagrange
> > Cc: linuxppc-embedded at ozlabs.org
> > Subject: Re: Linux 2.6.x, MTD drivers and NAND flashes
> >
> > Laurent Lagrange wrote:
> > Hello,
> >
> > I use a Linux 2.6.9 on a 85xx custom board with a NAND flash.
> >
> > This flash has some bad blocks.
> > NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB > > 3,3V 8-bit)
> > Scanning device for bad blocks
> > Bad eraseblock 8 at 0x00100000
> > Bad eraseblock 430 at 0x035c0000
> >...
> > Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit":
> > 0x00000000-0x08000000 : "flash partition 1".
> >
> > I have selected in the kernel :
> > 1) the MTD character and block supports for NAND,
> > 2) the CRAMFS and JFFS2 supports for NAND.
> >
> > I can erase the flash but receive IO errors for each bad blocks (that > > seems right).
> > I can mount an empty JFFS2 partition on the NAND and untar some > > directories and files in it.
> >
> > I would like to generate some JFFS2 images and program them in the flash > > with a character
> > command like "cat img > /dev/mtd/0". If I dont encounter a bad block, it > > runs right else the
> > command fails.
> >
> > This is a little bit annoying. So my question is simple :
> > Is there a MTD character driver which can detect and ignore the bad > blocks > in a NAND flash ?
> >
> Wrong question. :)
> With NAND, working directly with the media is indeed a pain because of bad > blocks. What's done instead is to leave that to the filesystem. Pick a > NAND-aware one like YAFFS.
>
>
> b.g.
>
> --
> Bill Gatliff
> bgat at billgatliff.com
More information about the Linuxppc-embedded
mailing list