Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 17551 - a kernel compiled from gentoo-sources-r1(2.4.20) unable to mount rootfs over nfs
Summary: a kernel compiled from gentoo-sources-r1(2.4.20) unable to mount rootfs over nfs
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-15 08:10 UTC by Tomasz Cichecki
Modified: 2003-05-20 00:35 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomasz Cichecki 2003-03-15 08:10:06 UTC
I'm using gentoo linux in quite a strange environment because my rootfs resides on a 
nfs share. What I need normally is a kernel with kernel-level autoconfiguration of the 
NIC (using DHCP protocol). I have such a kernel which normally does that built on 
Debian (a full-blown kernel-image with few patches such as Free S/WAN and grsecurity 
recompiled, and with slightly modified configuration to provide the 
kernel-autoconfiguration). This kernel actually mount my share so that I was able to 
bootstrap gentoo on my Debian system in separate folder. When I try to build a kernel 
from the gentoo source however - if I switch on the gcc3.1 optimizations the NIC 
doesn't get configured. I've noticed that the same happens when I force the debian 
make-kpkg to use "-O3" flag. So this bug might not be specific only to gentoo. 
I'm using Etherboot 5.0.5 but I don't think it has anything to do with it (the kernel 
image gets appended with correct variables to know where NFS-server is and what's 
its IP). 
Yes, I know which NIC I need to compile-in into my kernel: Actually 8139too :-) 
 

Reproducible: Always
Steps to Reproduce:
1. Build a kernel with kernel-level autoconfiguration(DHCP) and Root-over-nfs, switch 
the gcc>3.1 optimizations 
2. export a nfs to serve as rootfs to your node  
3. try to boot using a diskette or from tftp(If you have the support in your bios or from 
ROM-o-MATIC. 
Actual Results:  
KernelPanic - not able to mount root filesystem - the NIC.It is, however, well probed 
(it's appears at the boottime) 

Expected Results:  
You should see the following instead (thorn from my dmesg): 
eth0: Setting 100mbps full-duplex based on auto-negotiated partner ability 45e1. 
Sending DHCP requests ., OK 
IP-Config: Got DHCP answer from 192.168.1.1, my address is 192.168.1.12 
IP-Config: Complete: 
      device=eth0, addr=192.168.1.12, mask=255.255.255.0, gw=192.168.1.240, 
     host=192.168.1.12, domain=foo.org, nis-domain=(none), 
     bootserver=192.168.1.1, rootserver=192.168.1.1, rootpath=/netboot/folder/ 
rootdir 
Looking up port of RPC 100003/2 on 192.168.1.1 
Looking up port of RPC 100005/1 on 192.168.1.1 
VFS: Mounted root (nfs filesystem). 
 
Instead it stops a little earlier when it's probing the NIC. And yields a kernel-panic 

I've marked this as "A major feature is broken" since linux provides something known 
as Virual Filesystem Support where all the filesystems provides similar functionality 
across different  filesystems at least we should expect it so :) And partly because I 
think gentoo make an ideal distribution for a diskless node (with its bootstrap-stage 
files thought I saw similar funtionality in debian)
Comment 1 Jay Pfeifer (RETIRED) gentoo-dev 2003-05-08 22:09:34 UTC
can you try with gentoo-sources-2.4.20-r4?

Thanks,

Jay
Comment 2 Tomasz Cichecki 2003-05-14 10:10:48 UTC
Ok, I've just compiled gentoo-sources-r5 and it works without any modification. 
 I think it was/is only "-O3" related - Ealier I commented this out in 
/usr/src/linux-2.4.20-gentoo-r2/arch/i386/Makefile and put "-O2" instead and it's been working 
very well ever since but it might be specific only to realtek 8139- I don't have any other network 
card. 
A useful feature: to use a /etc/kernel.conf or something similar to drive the kernel compilation 
with specific options and/or specified compiler gcc-2.9x, gcc-3.x and I've heard there's 
commercial compiler icc from intel :) 
Comment 3 Jay Pfeifer (RETIRED) gentoo-dev 2003-05-20 00:35:59 UTC
thanks for the feedback. closing as per user.

Jay