NFS root filesystem broken in 2.1.36

Eric Youngdale (eric@andante.jic.com)
Sat, 26 Apr 1997 22:58:56 -0400


It took me a while to convince myself that the problem was in
the kernel, but I finally did it. The use of an NFS root filesystem
seems to be broken in 2.1.36 - it cannot connect to the portmap daemon
on the NFS server, and then starts making up port numbers. In
particular, after it fails to connect to portmap, it starts trying to
use defaults, and it seems to want to use:

>#define NFS_MNT_PORT 627
>#define NFS_PORT 2049

but the /etc/services has:

>nfs 2049/udp # NFS File Service
>mount 635/udp # NFS Mount Service

I verified that it was a kernel problem in a couple of ways.
First of all, I ran the usual DOS diagnostics across the network link
to verify that I had proper connectivity, and this checked out OK.

Next, I tried to boot a RedHat boot diskette and asked for a
NFS install. The little lights on the hub started blinking in a most
satisfying way, and with a variety of tests I was able to verify that
the RedHat disk was in fact mounting a directory on the server
machine.

When I use 2.1.36 with the NFS root, it eventually times out
and asks for a floppy. I put the 'init' shell (i.e. ksh) on the
floppy along with a bunch of other tools such as ifconfig so I could
study the situation. It *appears* that the interface is correctly
configured, and the routing also appears to be correct. Nonetheless,
ping is unable to get any kind of response from the NFS root machine.
I don't know the history of this code, so I am going to work around the
problem by moving putting a disk on the client machine for it to boot from.

-Eric