On Wed, Oct 20, 2004 at 10:02:26PM +0800, colin wrote: > > Hi all, > I had booted up Linux with nfs root, and write a JFFS2 image to /dev/mtd1. > Here is my cmdline for Kernel: > go 0x80305018 root=/dev/nfs rw nfsroot=172.19.26.145:/nfs/rootfs > ip=172.19.27.193::172.19.27.254:255.255.254.0::: > mtdparts=maltaflash:1536k(ldr),2048k(root) > > After writing the JFFS2 image to /dev/mtd1, I can mount /dev/mtdblcok1 to > some directory. > mount -t jffs2 /dev/mtdblock1 /mnt > > Next, I hope to boot up Linux with JFFS2 root, and try to give this cmdline > to Kernel: > go 0x80305018 rootfstype=jffs2 > mtdparts=maltaflash:1536k(ldr),2048k(root) root=/dev/mtdblock1 > > and the Kernel would complain me about no root: > VFS: Unable to mount root fs via NFS, trying floppy. > Kernel panic: VFS: Unable to mount root fs on unknown-block(2,0) > > I traced the code and found that when passing "/dev/mtdblock1" to > name_to_dev_t() in do_mounts.c, it would return 0 at every try_name(), > which will fail at open() with the path "/sys/block/%s/dev". > > What's the problem? Could anyone tell me? What is the kernel version you are using? Check that root_dev_names array in init/do_mounts.c has an entry, which looks like { "mtdblock", 0x1f00 } -- Eugene