hi I am thinking that why my romfs is unable to be mounted as a root device. my kernel command line:(I have linked the romfs into the kernel image,the address below is calculated automatically :) root=/dev/ram0 initrd=0x0c0a235c,139k keepinitrd and I have modified the makefile in which /dev/ram0 will be created. what else I have missed? and just read a article via http://www.ucdot.org/article.pl?sid=03/01/11/1049210&mode=thread <http://www.ucdot.org/article.pl?sid=03/01/11/1049210&mode=thread> (Phil Wilshire SDCS System Design & Consulting Services [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ) so I am wondering that the /dev/root(ROOT_DEV) was not created successfully?because no blkmem.c in kernel 2.6,must I enable the MTD option to make the kernel support romfs?they have any relation? I will appreciate your comments! thanks®ards rui
________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, May 14, 2007 5:31 PM To: uclinux-dev@uclinux.org Subject: [uClinux-dev] why init/do_mounts.c/mount_block_root sys_mountreturn -EFAULT(-14)? 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