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