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?

Reply via email to