hi guys I got the problem in the init/do_mounts.c static void __init mount_block_root(char *name, int flags) .... retry: for (p = fs_names; *p; p += strlen(p)+1) { int err = sys_mount(name, "/root", p, flags, root_mount_data); printk("VFS: tried fs_name = <%s> err= %d\n",p,err); switch (err) { case 0: printk("case 0\n"); goto out; case -EACCES: printk("case -EACCESS\n"); flags |= MS_RDONLY; goto retry; case -EINVAL: case -EBUSY: printk("case -EBUSY & EINVAL\n"); continue; } /* * Allow the user to distinguish between failed open * and bad superblock on root device. */ printk ("VFS: Cannot open root device \"%s\" or %s\n", root_device_name, kdevname (ROOT_DEV)); ... well,in a normal 2.4 kernel will get this result: ******* VFS: test name = </dev/root> VFS: fs_name = <ext2> VFS: fs_name = <romfs> VFS: root name <1f:00> *******
VFS: tried fs_name = <ext2> err= -22(-EINVAL,so it continue to try mount romfs) case -EBUSY & EINVAL VFS: tried fs_name = <romfs> err= 0 case 0 but in a 2.6.9 kernel have this result: ******* VFS: test name = </dev/root> VFS: fs_name = <ext2> VFS: fs_name = <romfs> VFS: tried fs_name = <ext2> err= -14 (-EFAULT,it directly go to the failure handle) VFS: Cannot open root device "ram0" or unknown-block(0,0) Please append a correct "root=" boot option Kernel panic - not syncing: 1VFS: Unable to mount root fs on unknown-block(0,0) *********************** thanks! rui
_______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev