On Fri, 10 Oct 2008 23:06:09 -0400 Andrey Vul wrote: > On Fri, Oct 10, 2008 at 10:33 PM, David Wei <[EMAIL PROTECTED]> > wrote: > > Sorry, I forgot that file . > > the .config is in the attachment this time. > > Thank you . > > > > On Fri, 10 Oct 2008 10:05:36 -0400 > > "Andrey Vul" <[EMAIL PROTECTED]> wrote: > > > >> 2008/10/10 David Wei <[EMAIL PROTECTED]>: > >> > Hi, > >> > I am trying kexec with "kernel panic reboot" cause i have to > >> > manage my server remotely. the "kernel panic > >> > reboot" (http://gentoo-wiki.com/TIP_Kernel_Panic_Reboot) has > >> > beening working so good so far for the regular kernel > >> > panic.However,sometimes when i were missed some file system > >> > items,the booking process would ask me: "VFS: Unable to mount > >> > root fs via NFS,trying floppy Insert root floppy and Press > >> > Enter." And the system hungup there waiting for my Enter. How > >> > can I remove this item from the booting process and panic > >> > directly so that it can reboot? Besides,I want to keep the NFS > >> > service. Thank you in advance. > >> I'm guessing that this is due to the floppy being compiled into the > >> emergency kernel. > >> In any case, can you post your .config for the emergency kernel? > >> > > Nothing in the .config looks suspicious. > It looks like it's inevitable that kernel patching will be needed, at > least, using the preprocessor to "hide" the floppy code. > Try this (it comments out floppy support which happens after NFS > support): comment_floppy.patch > --- init/do_mounts.c 2008-04-16 22:49:44.000000000 -0400 > +++ init/do_mounts2.c 2008-10-10 23:03:06.867876561 -0400 > @@ -308,7 +308,8 @@ > ROOT_DEV = Root_FD0; > } > #endif > -#ifdef CONFIG_BLK_DEV_FD > +/* #ifdef CONFIG_BLK_DEV_FD */ > +#if 0 > if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR) { > /* rd_doload is 2 for a dual initrd/ramload setup */ > if (rd_doload==2) { > > cd to your /usr/src/linux-... and run patch -p0 < comment_floppy.patch > It should fix the _specific_ issue. It might not fix the root cause, > however. > > -- > Andrey Vul
Looking in do_mounts.c, the code that generates the message is: #ifdef CONFIG_ROOT_NFS if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) { if (mount_nfs_root()) return; printk(KERN_ERR "VFS: Unable to mount root fs via NFS, trying floppy.\n"); ROOT_DEV = Root_FD0; } #endif Looking at the .config file, I see "CONFIG_ROOT_NFS=y". Since the message is being printed, we know that if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) is true which wmeans that the if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR) is false, i.e. the change to "#if 0" looks to be incorrect. Perhaps "CONFIG_ROOT_NFS=y" in .config is the root cause. I'd suggest changing the .config. HTH, David