Using mtdparts= right?

Bill Gatliff bgat at billgatliff.com
Sat Jan 17 02:29:02 EST 2004


Guys:


I need a quick sanity check here.  I'm giving this to my arm-linux 
2.4.21-rmk1 kernel (and the MTD code it contains, I'm not running from 
CVS sources):

root=/dev/mtdblock0 mtdparts=csb337-nor:1536000 at 0x8d43c(root)ro ...

I've added a maping for "csb337-nor", which starts at the first physical 
address of flash and contains the whole flash.  My romfs root image 
starts at an offset of 0x8d43c from the beginning of that flash.

I get this during boot:

...
CSB337-NOR: 0x00800000 at 0x10000000
cfi_cmdset_0001: Erase suspend on write enabled
Using buffer write method
mtd: Giving out device 0 to NOR flash on CSB337
CSB337-NOR: using command line partition definition
Creating 1 MTD partitions on "NOR flash on CSB337":
0x0008d43c-0x0020443c : "root"
mtd: Giving out device 1 to root
...

Then I get this:

...
NetWinder Floating Point Emulator V0.97 (double precision)
mtdblock_open
ok
mtdblock: read on "NOR flash on CSB337" at 0x0, size 0x400
mtdblock_release
ok
Kernel panic: VFS: Unable to mount root fs on 1f:00


I have romfs turned on, and I've stepped through a lot of code in the 
kernel during boot.  What I've noticed is that get_sb_bdev() is 
returning EBUSY.  I also don't understand why MTD is reading 0x400 bytes 
from the start of flash, when it should be getting the superblock from 
0x8d43c.

Ideas?  I'm on my way to step through get_sb_bdev() now...


Thanks!


b.g.

-- 
Bill Gatliff
Embedded GNU, Linux, and other board support packages.
bgat at billgatliff.com





More information about the linux-mtd mailing list