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
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev