blkmtd.o, JumpTec Dimm-PC woes
Chris Marston
chris at wirewerks.com
Wed Jun 11 13:35:24 EDT 2003
Hi,
I'm working on a project using embedded linux on a JumpTec Dimm-PC (the Elan
SC520 model). The JumpTec (supposedly) emulates a full PC with IDE, etc, so
up till now, we've been able to get by quite happily with a homegrown
slack-based distro with a minix FS (the final product will be mostly ro, so
wear levelling is unnecessary). Recently, however, we noticed that our
development units were beginning to corrupt data on writes, well before the
MTBF of their flash. It turns out that the DIMM-PC carries out a good chunk
of its IDE-emulating chicanery in the BIOS. Any OS can happily talk to the
fictitious hard drive on its own, but, without the help of the BIOS, it won't
properly erase sectors before using them. Thus, because Linux cold-shoulders
the BIOS, sectors on the (SanDisk NAND) flash aren't getting erased properly,
and, over time, the boards become unusable.
I'm thinking that the best way to handle this is to use blkmtd.o and then use
JFFS2, eraseall, etc. Unfortunately, I can't figure out how or where to talk
to the mtd device created by blkmtd.o. I've tried utils/MAKEDEV and
/dev/ftla0, and /dev/nftla0, but (eg. eraseall /dev/ftla0) complains that
there's no such device or address. I know blkmtd.o loaded correctly, because
it shows an mtd0 in /proc/mtd. Am I having trouble because I'm using devfs?
How can I make this work? Is using blkmtd.o even the right approach? Kernel
hangs at startup when SC520 support is enabled.
More information about the linux-mtd
mailing list