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)
can you try with gentoo-sources-2.4.20-r4? Thanks, Jay
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 :)
thanks for the feedback. closing as per user. Jay