I'm gonna do that next time before I post here.
thanks Andrey.

On Sat, 11 Oct 2008 02:08:56 -0400
"Andrey Vul" <[EMAIL PROTECTED]> wrote:

> On Sat, Oct 11, 2008 at 12:00 AM, David Wei <[EMAIL PROTECTED]> wrote:
> > Thanks Andrey, that patch works , my test kernel dose not ask for the 
> > floppy before the panic. Just by the way,dose that mean I cannot use floppy 
> > drive on this box?
> >
> You can use the floppy drive, but the kernel cannot run init / use
> initrd from a floppy (i.e. you are not allowed to use root=/dev/fd0 or
> initrd=/dev/fd0). This is because the floppy is fallback code if the
> NFS mount of / fails.
> 
> But this is Gentoo, you make your own kernel (hopefully), and never
> have to worry about initrd.
> 
> / and /dev/root are used interchangeably, for readabilty, similar to /
> and /dev/hdaX.
> 
> All I did was comment out the floppy fallback code.
> 
> This is how mount_root was originally written:
> If CONFIG_ROOT_NFS is defined
>     If root device is NFS
>         If the NFS root mounted
>             Return
>         Print message "VFS: Unable to mount root fs via NFS, trying floppy.\n"
>         Set root device as floppy disk 0
> If CONFIG_BLK_DEV_FD (floppy disk) is defined
>     If the root device is a floppy
>         If dual initrd/ramload is enabled
>             If the first partition of the ramdisk image could be
> loaded into memory
>                 Set the root device as a ramdisk
>                 Set the root device name as null
>             Else
>                 Prompt for root floppy
> If CONFIG_BLOCK is defined
>     Create a device named "/dev/root" with the major & minor modes
> equal to the root device
>     Mount "/dev/root" with root device mountflags
> 
> If you want more detail, you should post to lkml.
> 
> All I have done was replace the following line:
> If CONFIG_BLK_DEV_FD (floppy disk) is defined
> with
> If false
> 
> }
> > Thanks again!!
> No problem.
> In reality, the fix was simple.
> All I did was grep the source tree for the exact string (grep -R "VFS:
> Unable to mount root fs via NFS, trying floppy" .
> )
> Then open up vim (or emacs or nano), find the line, and add an #if 0
> ... #endif block where needed.
> >
> > On Fri, 10 Oct 2008 23:06:09 -0400
> > "Andrey Vul" <[EMAIL PROTECTED]> 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
> >>
> >> A: Because it messes up the order in which people normally read text.
> >> Q: Why is top-posting such a bad thing?
> >> A: Top-posting.
> >> Q: What is the most annoying thing in e-mail?
> >>
> >
> >
> > -------------------------------
> > 魏亮 David Wei
> >
> > 您可以通过下面的方式和我联系:
> > MSN: [EMAIL PROTECTED]
> > Gtalk: [EMAIL PROTECTED]
> > Email: [EMAIL PROTECTED]
> >
> >
> 
> 
> 
> -- 
> Andrey Vul
> 
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?


-------------------------------
魏亮 David Wei

您可以通过下面的方式和我联系:
MSN: [EMAIL PROTECTED]
Gtalk: [EMAIL PROTECTED]
Email: [EMAIL PROTECTED]

Reply via email to